SNI 不适用于 ubuntu 14.04,同一 IP 上有多个虚拟主机 SSL

SNI 不适用于 ubuntu 14.04,同一 IP 上有多个虚拟主机 SSL

Ubuntu 14.04 安装标准 LAMP。

在单个 IP 上,我尝试使用带 SNI 的 SSL 运行两个网站。我有两个不同的证书,它们被正确应用。我的问题是从 HTTP 重定向到正确的 HTTPS 网站。

我正在使用最新的 Firefox 进行测试,并且 TLS 设置正确。

所以,简而言之,每个 HTTP 请求都会被重定向到....

我通过禁用/启用重写模块进行了检查,没有发现任何差异

已启用站点:

(主站点)dev.domain.com.conf。其内容是常规 SSL 虚拟主机内容……

<VirtualHost *:443>
        ServerName dev.domain.com
        ServerAlias dev.domain.com
...

(为了通过 HTTPS 重定向到主站点,我创建了这个额外的虚拟主机) dev.domain.com.80.conf。其内容如下:

<VirtualHost *:80>
        ServerName dev.domain.com
        ServerAlias dev.domain.com
        ServerAdmin xxxxxxx
        Redirect permanent / https://dev.domain.com/
</VirtualHost>

(第二个主站点)www.domain.com.conf。其内容是常规 SSL vhost...

<VirtualHost *:443>
        ServerName www.domain.com
        ServerAlias www.domain.com
...

(为了通过 HTTPS 重定向到主站点,我创建了这个额外的虚拟主机)www.domain.com.80.conf。其内容:

<VirtualHost *:80>
        ServerName www.domain.com
        ServerAlias www.domain.com
        ServerAdmin rxxxxx
        Redirect permanent / https://www.domain.com/
</VirtualHost>

即使在两个虚拟主机配置中添加了用于重定向的以下内容后,也无济于事。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

当 HTTPdev.domain.com正确转换为 HTTPS时dev.domain.com,HTTPwww.domain.com会转换为 HTTPS dev.domain.com

此外,如果我访问两个站点的 https URL,它们都可以正常工作。只有 http 到 https 重定向不起作用。

答案1

也许是浏览器缓存,在对各种 Apache 配置进行无数次编辑之后。以下是摘要:

  1. mod_rewrite:不是必需的。
  2. NameVirtualHost:不是必需的。
  3. 为每个站点配置一个用于重定向目的的虚拟主机。
  4. 上述重定向命令。

就是这样。

相关内容