我一直在尝试使公司的所有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会显示以下错误消息:
当我将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 (https works http redirects to default)
以上所有问题均未帮助我解决问题。我仍然无法使所有http网站都重定向到https。
如何正确地将http网站重定向到https?
答案 0 :(得分:1)
<VirtualHost _default_:443>
ServerName internal.va.com
DocumentRoot "D:/htdocs"
SSLEngine On
</VirtualHost>
我在错误日志中发现了这个问题:无法为internal.va.com:443至少配置一个证书和密钥
显示配置并显示此错误消息后,问题非常明显:您已启用SSL,但未为主机配置证书。但是没有服务器证书的HTTPS将不起作用。
请注意,这与您尝试尝试的重定向完全无关。它仅与配置正确的HTTPS站点有关。