【发布时间】:2021-10-03 17:50:53
【问题描述】:
- NAS: QNAP
- Docker 镜像: php:8.0-apache
我有一个 NAS,其中包含许多 dockerised 服务,所有域都指向 NAS,Apache 反向代理设置为指向正确的 Docker Container IP:PORT。
所有这些都很好。
我决定通过添加一个容器来托管我所有的玩具网站来挑战自己,但我不知道如何设置反向代理,因此 NAS 中的 ServerName Apache VirtualHost 被转发到容器的 @987654324 @ 指向正确的文件夹。
该站点位于 NAS 上的一个文件夹中 /share/dev/web/sites。
通过下面的配置,我可以浏览到http://sites.mydomain.com/sites,而我想做的是访问http://sites.mydomain.com。
我认为我的NAS Apache VirtualHost 没有转发servername,所以Docker Container Apache VirtualHost 不知道如何过滤流量。
我尝试了许多不同的 apache 设置,但都没有成功,有人能指点一下吗?
docker-compose
version: '3.8'
services:
php-apache-environment:
container_name: php-apache
image: php:8.0-apache
volumes:
- /share/dev/web:/var/www/html/
- /share/dev/docker-composer/php/apache/apache2.conf:/etc/apache2/apache2.conf
- /share/dev/docker-composer/php/apache/custom.conf:/etc/apache2/sites-available/custom.conf
ports:
- 9103:80
NAS Apache 虚拟主机
<VirtualHost *:80>
ServerName sites.mydomain.com
ProxyPass / http://192.168.253.53:9103/
ProxyPassReverse / http://192.168.253.53:9103/
</VirtualHost>
Docker 容器 Apache VirtualHost
<VirtualHost *:80>
ServerName sites.mydomain.com
ServerAdmin webmaster@name
DocumentRoot /var/www/html/sites
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
【问题讨论】:
标签: docker apache reverse-proxy virtualhost