我有一个 apache 网络服务器,我想将所有请求转发到代理到另一个域。到目前为止,我已经对 http 请求完成了此操作,但它对 https 不起作用。我的 httpd-ssl.conf 文件:
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/log/httpd/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLProxyEngine On
SSLProxyVerify require
SSLProtocol All -SSlv2 -SSLv3
ProxyRequests Off
ProxyPreserveHost On
<VirtualHost _default_:443>
ServerName domain.com
ServerAdmin [email protected]
DocumentRoot /path
ProxyRequests Off
ProxyPreserveHost On
SSLEngine On
SSLProxyEngine On
SSLHonorCipherOrder On
SSLCipherSuite --
SSLCertificateFile /path/server.crt
SSLCertificateKeyFile /path/server.key
SSLCACertificateFile /path/server.ca
#<Proxy *>
# Order allow,deny
# Allow from all
#</Proxy>
<Location / >
ProxyPass "http://my.ip/"
ProxyPassReverse "http://my.ip/"
</Location>
</VirtualHost>
当我去http://example.com/v1,它将请求转发到http://my.ip/v1,但是当我使用 https 访问相同的 url 时(https://example.com/v1)它只是在根目录中打开我的 index.html 并且不转发请求。
答案1
并将其添加到您的虚拟主机配置:
SSLProxyEngine on
您还可以在普通的 VirtualHost 部分使用 ProxyPass 命令。
部分
<Location />
...
</Location>
是没有必要的。