为什么我的http网站没有重定向到https?

时间:2019-07-16 16:14:04

标签: http ssl redirect https

我一直在尝试使公司的所有http网站都自动重定向到https。

在我的httpd.conf文件中,我具有以下内容:

<VirtualHost *:80>
  ServerName internal.va.com
  Redirect / https://internal.va.com
</VirtualHost>

<VirtualHost _default_:443>
  ServerName internal.va.com
  DocumentRoot "D:/htdocs"
  SSLEngine On
</VirtualHost>

使用SSLEngine On时,重新启动apache会显示以下错误消息:

enter image description here

当我将SSLEngine注释掉时,我不再收到该消息,但是站点没有重定向。

此外,我不确定是否应该在VirtualHost标记中添加服务器IP地址。

例如:

<VirtualHost 112.245.154.47:80>
// same info as above
</VirtualHost>

<VirtualHost 112.245.154.47:443>
// same info as above
</VirtualHost>

我不确定是否应该使用服务器的IP地址,或者VirtualHost标签是否应仅包含“ *:80”和“ _ default _:443”。

我了解这个问题可能是重复的,但是我尝试遵循以下问题下提供的答案:

redirect http to https through httpd.conf

Redirect HTTP to HTTPS

Redirect http to https (https works http redirects to default)

以上所有问题均未帮助我解决问题。我仍然无法使所有http网站都重定向到https。

如何正确地将http网站重定向到https?

1 个答案:

答案 0 :(得分:1)

<VirtualHost _default_:443>
  ServerName internal.va.com
  DocumentRoot "D:/htdocs"
  SSLEngine On
</VirtualHost>
  

我在错误日志中发现了这个问题:无法为internal.va.com:443至少配置一个证书和密钥

显示配置并显示此错误消息后,问题非常明显:您已启用SSL,但未为主机配置证书。但是没有服务器证书的HTTPS将不起作用。

请注意,这与您尝试尝试的重定向完全无关。它仅与配置正确的HTTPS站点有关。