我正在使用 Apache2 运行反向代理,并且配置了以下 vHost:
<VirtualHost *:80>
ServerName rds.example.com
Redirect / https://rds.example.com/RDWeb/
</VirtualHost>
<VirtualHost *:443>
# Proxy
ServerName rds.example.com
ProxyPreserveHost on
SSLProxyEngine on
SSLProxyVerify off
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass / https://backend01.example.com/
ProxyPassReverse / https://backend01.example.com/
SSLCertificateFile /etc/letsencrypt/live/rds.example.com//fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/rds.example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
当客户端连接到http://rds.example.com或者https://rds.example.com,我想将他重定向到https.//rds.example.com/RDWeb(微软默认的远程桌面Web服务)。
实际上,当客户端连接时,他只会被重定向到https://rds.example.com拥有漂亮的IIS页面。
我究竟做错了什么 ?
答案1
您可以使用mod_rewrite
它来重定向到您想要的位置 - 将其集成到 SSL vhost 中:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* /RDWeb/ [R,L]
不要忘记启用 mod_rewrite(a2enmod
如果可能的话请使用)。