【问题标题】:Redirect to all traffic to SSL pages重定向到 SSL 页面的所有流量
【发布时间】:2013-12-06 07:02:12
【问题描述】:

我正在尝试将所有流量重定向到安全页面。我尝试尝试使用 PHP 重定向和 htaccess 重定向。他们工作了,但问题是我收到以下错误:

“您试图访问 domain.com,但实际上您访问的是一个将自己标识为 www.domain.com 的服务器。这可能是由于服务器上的错误配置或更严重的原因造成的。您网络上的攻击者可能试图让您访问虚假(且可能有害)的 domain.com 版本。”

我们是同一个域。如何解决 SSL 证书适用于一个域但不适用于另一个域的问题?

【问题讨论】:

  • 显示您现有的 .htaccess 规则。
  • 重定向到https://www.domain.com 而不是https://domain.com。不要费心尝试在两个不同的主机名上运行同一个站点。
  • 这是我正在使用的:#SSL RedirectRewriteEngine OnRewriteCond %{HTTPS} !onRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

标签: php apache .htaccess redirect ssl


【解决方案1】:

您收到该错误是因为您拥有的 SSL 证书似乎适用于 www.domain.com不是 domain.com。如果人们尝试访问https://domain.com,您将无法避免这种情况,但您可以使用相同的重定向到 SSL 的规则来规范化:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [L,R=301]

另请参阅:http://www.digicert.com/ssl-support/certificate-name-mismatch-error.htm

【讨论】:

  • 感谢您的建议。规范化是什么意思?我不太明白这个概念。 ELI5.
  • @MethodWWW 这意味着您只希望流量流向www.domain.com 而不是其他任何东西(例如domain.com
  • 我不完全知道为什么或如何,但这种方法似乎有效。非常感谢:)。
猜你喜欢
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 2016-09-23
  • 2015-08-20
  • 2010-10-18
  • 2013-05-25
相关资源
最近更新 更多