1

我在一个 Magento 安装上有多个网站。其中三个站点具有不同的 SSL 证书。SNI 不是一个选项,因此我们决定使用不同的端口来处理请求。

在虚拟主机配置中,每个使用 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 来做到这一点。

4

1 回答 1

2

您可以使用 mod_rewrite 来完成,但这里的问题是您的证书不适用于 domain2.com 并且浏览器会抱怨(除非这些实际上是子域并且您有通配符证书)

将这些规则添加到 domain1 配置中:

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]
于 2012-06-17T07:23:11.650 回答