重定向www。使用SSL时裸域

时间:2012-04-25 08:06:13

标签: apache ssl mod-ssl

某些背景:我在域名domain.comalternate-domain.com下投放了一个网站。我想重定向所有请求,以便他们:

  1. 使用SSL(基本上,重定向http - > https)
  2. 使用规范主机名domain.com(例如删除www前缀)
  3. 这就是我在apache配置顶部所拥有的:

    <VirtualHost *:80>
      Redirect permanent / https://domain.com/
    </VirtualHost>
    
    <VirtualHost *:433>
      Redirect permanent / https://domain.com/
      SSLEngine on
    
      # SSL Certificate directives are here.
    </VirtualHost>
    

    然后我有https://domain.com的配置:

    <VirtualHost *:443>
      ServerName domain.com
      # ...
    </VirtualHost>
    

    当我访问非HTTPS页面时,这可以正常工作:

    但是,当我通过HTTPS访问域时,它不起作用。我的意思是重定向不会发生

    示例:

    (注意:出现证书警告是正常的,因为它们与我拥有证书的域不匹配。更多的原因是重定向用户。)

    我做错了什么?

2 个答案:

答案 0 :(得分:2)

好的,问题解决了 - 我犯了一个典型的愚蠢错误。

在SSL默认虚拟主机中,我在端口433上侦听。当然应该是443

答案 1 :(得分:0)

您的配置说当有人输入https://groupstreamer.com/的网址时,服务器应将其重新定位到https://groupstreamer.com/ - 您无法在此处看到此漏洞吗?

丢失443虚拟主机中的重定向。如果你必须使用前端控制器(由于很多原因这是错误的),那么使用404处理程序。