0

一些上下文:我正在为域下的网站提供服务,domain.com并且alternate-domain.com. 我想重定向所有请求,以便它们:

  1. 使用 SSL(基本上,重定向 http -> https)
  2. 使用规范的主机名domain.com(例如删除www前缀)

这就是我在我的 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 访问域时它不起作用。我的意思是重定向不会发生

例子:

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

我究竟做错了什么?

4

2 回答 2

2

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

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

于 2012-04-25T08:19:56.177 回答
0

您的配置表明,当有人输入https://groupstreamer.com/的 URL 时,服务器应该将他们重定向到https://groupstreamer.com/ - 您看不到这里的缺陷吗?

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

于 2012-04-25T08:16:21.683 回答