繁体   English   中英

Docker中的基本反向代理:禁止(无权限)

[英]Basic reverse-proxy in Docker: Forbidden (no permission)

我在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):允许此“路由”)?

您的标题似乎具有误导性。 根据您的描述,您已经设置了正常运行的反向代理,并且与反向代理连接的目标已损坏。 如果查看php:apache映像上docker hub页面,您将找到多个示例,以了解如何将php代码加载到映像中并使之正常工作。 例如:

$ docker run -d -e VIRTUAL_HOST=test.example.com \
  -v "$PWD/your/php/code/dir":/var/www/html php:7.0-apache

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM