在SSL Vhost中使用Apache RedirectMatch

在SSL Vhost中使用Apache RedirectMatch,apache,redirect,proxy,mod-proxy,Apache,Redirect,Proxy,Mod Proxy,我想: 将/的https请求重定向到/sweetApp/ 将所有http请求重定向到https 重定向后,代理请求到内部ip地址 我已经制定了这些vhost规则。http到https重定向可以工作,但重定向到/sweetApp/不能工作 最后,我希望对sweetSite.com的外部请求进行代理和重定向,以便内部服务器只看到192.168.3.92:9080/sweetApp/ 我使用的是Apache2.4.3,因此它应该支持基于名称的ssl vHost #Redirect to SSL &

我想:

  • /
    的https请求重定向到
    /sweetApp/
  • 将所有http请求重定向到https
  • 重定向后,代理请求到内部ip地址
我已经制定了这些vhost规则。http到https重定向可以工作,但重定向到
/sweetApp/
不能工作

最后,我希望对
sweetSite.com
的外部请求进行代理和重定向,以便内部服务器只看到
192.168.3.92:9080/sweetApp/

我使用的是Apache2.4.3,因此它应该支持基于名称的ssl vHost

#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>
#重定向到SSL
服务器名sweetSite.com
重定向匹配^/$https://sweetSite.com/
#真正的麦考伊
服务器名sweetSite.com
#默认情况下映射到/sweetApp/
重定向匹配^/$/sweetApp/
斯伦金安
SSLProxyEngine打开
sslcertificatefilessl/certificate.crt
SSLCertificateKeyFile ssl/certificate.key
#SSL到HTTP代理
ProxyPass/http://192.168.3.92:9080/
ProxyPassReverse/http://192.168.3.92:9080/

我的问题是,如果有proxyPass规则,它优先于任何重定向规则

因为我需要这台机器来执行重定向和代理,所以我能找到的唯一解决方案是使用mod_rewrite来“proxy”,并将url更改为
/sweetApp/