docker apache反向代理
让apache2在docker中工作,并充当另一个运行基于Python的API的docker容器的反向代理,我面临着一些问题 我的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
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