我有一个在端口 443 上运行的 Hudson/Jenkins 安装,因此我可以使用 访问它https://ci.mydomain.com
。我没有像 Apache Httpd 那样在端口 80 上运行的 Web 服务器,但我希望如果用户输入,http://ci.mydomain.com
它应该被重定向到https://...
我尝试过iptables
:
/sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 443
/sbin/iptables-save
chkconfig --level 35 iptables on
但浏览器告诉我连接失败。所以我不想安装 Apache 网络服务器,我只想从 重定向http://ci.mydomain.com
到https://ci.mydomain.com
。
答案1
答案2
HTTP 和 HTTPS 是不同的应用程序级协议,因此您不能仅在传输级别进行重定向。您应该在端口 80 上设置 Apache 或 Nginx 或其他程序,以使用标头执行正确的 HTTP 重定向Location
。
答案3
设置一个相对空白的 VirtualHost 监听 80,它不做任何事情,
重写引擎开启
重写规则(.*)https://foo.com1 美元
答案4
您可能在这里陷入了僵局,因为 http 和 https 有很大不同,简单的端口重定向无法起作用。