我想:
/
的https请求重定向到/sweetApp/
我已经设置了这些vhost规则。 http到https重定向的工作正常,但重定向到/sweetApp/
却没有。
最后,我希望外部请求sweetSite.com
进行代理和重定向,以便内部服务器只能看到192.168.3.92:9080/sweetApp/
的请求
我正在使用Apache 2.4.3,所以它应该支持基于名称的ssl vhosts。
#Redirect to SSL
<VirtualHost *:80>
ServerName sweetSite.com
RedirectMatch ^/$ https://sweetSite.com/
</VirtualHost>
# The Real McCoy
<VirtualHost *:443>
ServerName sweetSite.com
#Map to /sweetApp/ by default
RedirectMatch ^/$ /sweetApp/
SSLEngine On
SSLProxyEngine On
SSLCertificateFile ssl/certificate.crt
SSLCertificateKeyFile ssl/certificate.key
#SSL to HTTP Proxy
ProxyPass / http://192.168.3.92:9080/
ProxyPassReverse / http://192.168.3.92:9080/
</VirtualHost>
答案 0 :(得分:0)
问题在于,如果存在proxyPass规则,则优先于任何重定向规则。
因为我需要这台机器同时执行重定向和代理,我能找到的唯一解决方案是使用mod_rewrite来“代理”并将网址更改为/sweetApp/
。