我在一个Magento安装上有多个网站。其中三个站点具有不同的SSL证书。 SNI不是一个选项,所以我们决定使用不同的端口来处理请求。
在Virtual Hosts配置中,为每个使用SSL的站点分配了一个不同的端口。
“https://domain1.com” - >标准443
“https://domain2.com:444”
“https://domain3.com:445”
如果直接转到这些请求,这些请求可以正常工作。 Magento正确处理其所有请求。
这是擦:
如果您在没有端口号的情况下转到“https://domain2.com”,则会触发domain1.com的虚拟主机配置。
我需要一种方法来捕获https://domain2.com的所有请求,并将其重定向到https://domain2.com:444。
必须有一种方法可以使用mod_rewrite或mod_proxy。
答案 0 :(得分:1)
你可以使用mod_rewrite来做到这一点,但问题在于你的证书不适用于domain2.com而浏览器会抱怨(除非这些实际上是子域名并且你有通配符证书)
将这些规则添加到domain1 config:
RewriteEngine On
RewriteCond %{HTTP_HOST} domain2.com$ [NC]
RewriteRule ^(.*)$ https://domain2.com:444/$1 [R=301]
RewriteCond %{HTTP_HOST} domain3.com$ [NC]
RewriteRule ^(.*)$ https://domain3.com:445/$1 [R=301]