问题描述
我正在朋友的服务器上运行的虚拟机上运行几个Apache2 Web服务器。设置是所有SSL由他的Nginx反向代理处理,并将流量发送到在我的VM上运行的Apache2服务器。这意味着所有流量都会通过端口80发送到我的Web服务器,即使这些URL会显示http://或https://。
我无法将所有http URL重定向或重写为https。我尝试过的解决方案要么导致无限重定向循环,要么根本无法工作。
我尝试过的事情是:
Redirect Permanent / https://sub.example.com/
...随着我的VirtualHost都仅在端口80上运行,它将永久地永久重定向
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
...这将永远重定向,因为从技术上讲HTTPS不管用什么,
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
...也可以永久重定向,但我不确定为什么,
RewriteEngine On
RewriteCond ${REQUEST_URI} http://
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
...根本不起作用。
有人在这方面有经验吗?我在做什么错了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)