我在8080上启动了jwilder nginx代理
docker run -d -p 8080:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy我运行的是一个标准的php:apache容器,没有映射端口(所以80暴露在容器网络上)。我使用env var来连接代理:
docker run -d -e VIRTUAL_HOST=test.example.com php:apache在我的本地主机上,我在/etc/hosts中添加了以下内容:
IP test.example.com现在我在我的计算机上访问text.example.com:8080,所以我尝试连接反向代理(8080),它会将我路由到容器端口80上的php-apache。
但是我得到了这个错误:
错误:
Forbidden
You don't have permission to access / on this server.
Apache/2.4.10 (Debian) Server at test.example.com Port 8080我遗漏了什么?我是否在某个地方更改了apache配置?(现在都是默认的)。它似乎通过了nginx,因为我看到了一个apache错误,所以我想我需要告诉apache内部(php apache):允许这个‘路由’?
发布于 2017-08-21 23:05:22
您的标题似乎具有误导性。根据您的描述,您已经设置了一个正常运行的反向代理,并且您使用反向代理连接到的目标已损坏。如果你回顾一下docker hub page on the php:apache image,你会发现很多关于如何将你的php代码加载到图片中并让它正常工作的例子。例如:
$ docker run -d -e VIRTUAL_HOST=test.example.com \
-v "$PWD/your/php/code/dir":/var/www/html php:7.0-apachehttps://stackoverflow.com/questions/45800178
复制相似问题