我已经看到了这个不同的风格,但没有什么明显符合我需要做的。 我有一个安装了通配证书的Apache服务器。 现在我想让Apache做两件事情:
1)在http上监听请求,并为每个站点永久请求https。 2)将https请求委托给仅在端口80上侦听的内部服务器。
我非常肯定,我将拥有多个虚拟主机条目,并假设CNames是www.mydomain.com,test.mydomain.com,staging.mydomain.com。 他们都指向相同的IP,这是我的Apache服务器。
因此,当http://www.mydomain.com发出请求时,它应该被redirect到https://www.mydomain.com ,然后代理到内部服务器192.168.20.200。 请求http://test.mydomain.com应redirect到https://test.mydomain.com并代理回到192.168.20.201 …等等。
最好的我可以猜测www.mydomain.com的虚拟主机应该是这样的:
NameVirtualHost *:80
<VirtualHost *:80> ServerName www.mydomain.com Redirect permanent / `https://www.mydomain.com/` </VirtualHost> <VirtualHost *:443> ServerName www.mydomain.com ProxyPass / `http://192.168.20.200/` ProxyPassReverse / `http://192.168.20.200/` </VirtualHost>
我不确定这是否是正确的方法(我已经看到了一些使用重写的例子),我不确定每个域需要两个虚拟主机条目。
有人可以证实这是正确的做法吗? 这个Apache将成为这个域的多个主机的反向代理。
你有正确的设置,你正在尝试做什么。
这些URL周围的斜线可以被删除。