希望有人能指出我正确的方向。我一直试图让这个工作好几个小时:(
场景 - 我有一个DMZ,我已经设置了Apache服务器。我需要安全地与内部服务器通信,在那里我已经设置了另一个Apache服务器,该服务器再次被反向代理到服务器内的localhost应用程序..所以,基本上......
外面的世界>互联网(https://app1.com)> dmz(apache反向代理)>内部服务器(apache反向代理 - https://app1prod.com)> (http)>本地主机:8080
现在,在dmz中,我可以直接访问https://app1prod.com而不会出现问题。但是,我不能为我的生活让https://app1.com从dmz工作。我收到'503 service unavailable'消息:(这是我在dmz中的apache配置..
<VirtualHost *:443>
ServerName app1.com
ProxyRequests off
SSLProxyCheckPeerName off
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
LogLevel debug
SSLEngine on
SSLProxyEngine on
SSLCertificateFile "xxx/cert.crt"
SSLCertificateKeyFile "xxx/key.key"
SSLCertificateChainFile "xxx/certchain.crt"
ProxyPass / https://app1prod.com/
ProxyPassReverse / https://app1prod.com/
<Proxy *>
order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyTimeout 1200
</VirtualHost>
在我的httpd.conf中,除了默认值之外,我还加载了以下模块..
mod_proxy.so
mod_proxy_connect.so
mod_proxy_http.so
mod_ssl
mod_rewrite.so
mod_socache_shmcb.so
mod_ssl.so
我做错了什么?请帮忙!非常感谢..
答案 0 :(得分:2)
尝试删除ProxyPreserveHost on
。
启用该指令后,代理请求将发送到ProxyPass
指令中定义的服务器,但HTTP Host:
标头将从初始请求中保留。在您的情况下,Apache向app1prod.com
发送的请求将具有Host: app1.com
标头,而app1prod.com
我未配置(可能是故意)来响应此类请求。