【问题标题】:Difference handling virtualhost http and https区别处理虚拟主机 http 和 https
【发布时间】:2016-07-28 22:04:47
【问题描述】:

我有这个 VirtualHost 文件:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / https://www.example.com
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/dir
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.crt
    SSLCertificateKeyFile /etc/ssl/private/example.key
    <Directory /var/www/dir>
        AllowOverride All
    </Directory>
</VirtualHost>

当我浏览到以下示例链接时,我得到了这个结果:

1. URL http://www.example.com loads fine.
2. URL http://example.com loads incorrect.
3. URL https://www.example.com loads fine.
4. URL https://example.com loads fine.

现在,我知道如何更正项目符号2了。我的问题是:为什么子弹 2 需要像这样一个单独的 VirtualHost,

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://www.example.com
</VirtualHost>

但在 SSL 下它可以正常加载。

【问题讨论】:

    标签: http ssl https virtualhost


    【解决方案1】:

    改变

      <VirtualHost *:80>
          ServerName www.example.com
          Redirect permanent / https://www.example.com
        </VirtualHost>
    
    <VirtualHost *:443>
    DocumentRoot /var/www/dir
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.crt
    SSLCertificateKeyFile /etc/ssl/private/example.key
    <Directory /var/www/dir>
        AllowOverride All
    </Directory>
      </VirtualHost>
    

    <VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://www.example.com
      </VirtualHost>
    
    <VirtualHost *:443>
    DocumentRoot /var/www/dir
    ServerName example.com
    ServerAlias www.example.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.crt
    SSLCertificateKeyFile /etc/ssl/private/example.key
    <Directory /var/www/dir>
        AllowOverride All
    </Directory>
     </VirtualHost> 
    

    【讨论】:

    • 感谢您的回答,我知道这种技术有效,但是如果我访问链接 hhttps://example.com,为什么“ServerName www.example.com”仍然适用于 ssl 虚拟主机?
    猜你喜欢
    • 2017-04-08
    • 2018-03-23
    • 2017-12-12
    • 2016-07-16
    • 2017-09-22
    • 1970-01-01
    • 2016-04-16
    • 2016-01-09
    • 2020-05-08
    相关资源
    最近更新 更多