首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache从https重定向到https

Apache从https重定向到https
EN

Server Fault用户
提问于 2012-11-30 17:41:29
回答 3查看 7.6K关注 0票数 3

我试图在没有重写规则的情况下从https://www.domain.com重定向到https://www.domain.net。我有一个*.domain.net通配符证书。这将在我的error_log中产生以下警告

警告 RSA服务器证书通配符CommonName (CN) `*.domain.net‘不匹配服务器名!?

这是有道理的,我明白为什么要发出警告。我想问一下,是否有办法在没有警告的情况下使用重定向指令来完成上述操作。下面是我在ssl.conf中的虚拟主机:

代码语言:javascript
复制
<VirtualHost *:443>
    SSLEngine on
    ServerName www.domain.net
    DocumentRoot /var/www/html/domain

    SSLOptions -FakeBasicAuth -ExportCertData +StrictRequire +OptRenegotiate -StdEnvVars
    SSLStrictSNIVHostCheck off
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    ServerName www.domain.com
    ServerAlias www.domain.info
    Redirect permanent / https://www.domain.net
</VirtualHost>

另外,如果有解决方案,它是否可以用于从htps://domain.com重定向到htps://www.domain.com?非常感谢!

EN

回答 3

Server Fault用户

回答已采纳

发布于 2012-11-30 17:57:28

请注意,基础HTTPS连接的SSL握手和验证过程发生在发送实际请求之前。这意味着在验证服务器证书的真实性之前,服务器没有HTTP响应,甚至没有重定向。

如果你只有一个端点(即。只需一个公共IP地址),您将需要购买SAN证书,即带有主题可选名称的证书。

这样,您就可以使用SAN www.domain.com*.domain.net提供通配符证书,并且不会收到任何证书警告。

要了解更多信息,请查看我给出的一个旧答案中类似的情况,只使用nginx而不是apache

票数 3
EN

Server Fault用户

发布于 2012-11-30 17:53:14

www.domain.com (以及www.domain.info)并不是www.domain.net的相同域,因此出现了警告。如果您需要避免此警告,那么您也应该拥有这些域的证书。

票数 2
EN

Server Fault用户

发布于 2018-11-22 05:14:42

来自另一个问题( https://stackoverflow.com/a/53424202/2590491 ):

我的解决方案是:httpS://www.example.com -> http://www.example.net --> httpS://www.example.net

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName www.example.net
    Redirect "/" "https://www.example.net/"
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com

    #### The Tricky ####
    Redirect "/" "http://www.example.net/"

    SSLEngine on
    # SSLProxyEngine On
    SSLCertificateFile /path/example_com.crt
    SSLCertificateKeyFile /path/example_com.key
    SSLCertificateChainFile /path/DigiCertCA_example_com.crt
    SSLProtocol ALL -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.net
    ...
    SSLEngine on
    # SSLProxyEngine On
    SSLCertificateFile /path/example_net.crt
    SSLCertificateKeyFile /path/example_net.key
    SSLCertificateChainFile /path/DigiCertCA_example_net.crt
    SSLProtocol ALL -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
</VirtualHost>
票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/453957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档