Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker apache反向代理_Docker_Apache_Docker Compose_Apache2 - Fatal编程技术网

docker apache反向代理

docker apache反向代理,docker,apache,docker-compose,apache2,Docker,Apache,Docker Compose,Apache2,让apache2在docker中工作,并充当另一个运行基于Python的API的docker容器的反向代理,我面临着一些问题 我的Dockerfile FROM httpd:latest COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf EXPOSE 80 httpd.conf: Listen 80 <VirtualHost *:80> ProxyPreserveHost On ProxyPass

让apache2在docker中工作,并充当另一个运行基于Python的API的docker容器的反向代理,我面临着一些问题

我的
Dockerfile

FROM httpd:latest
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf
EXPOSE 80
httpd.conf:

Listen 80
<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass        / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>

LoadModule headers_module modules/mod_headers.so

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule access_compat_module modules/mod_access_compat.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule unixd_module modules/mod_unixd.so

<IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
</IfModule>

ServerAdmin you@example.com

ServerRoot "/etc/httpd"

如果在构建映像之前从Dockerfile中删除COPY httpd.conf命令,docker容器将正常工作,因为默认情况下,我可以看到“It works!”页面,当然没有代理。

我认为您的配置文件中应该有
ServerName
。添加它并将Apache重新加载到test@Saeed刚刚尝试了ServerName localhost,但没有luckWhere添加了
ServerName localhost
指令?在
VirtualHost
标记之间?还有,如何运行容器?您是否在自己的笔记本电脑/pc上运行它?我问了,因为你正在卷曲本地主机。@Saeed我在下面添加了ServerName localhost。我正在aws ec2上运行容器。我在那里安装了docker。@Saeed在这个容器的docker日志中看到:AH00558:httpd:无法可靠地确定服务器的完全限定域名,
curl: (7) Failed to connect to localhost port 80: Connection refused