安装SSL证书的网站如何实现HTTP重定向到HTTPS?
完成SSL证书部署后,需在服务器配置301强制重定向规则实现全站HTTPS加密访问。各服务器具体操作方法:
配置后请清除浏览器缓存测试,推荐使用 锐成信息SSL检测工具 验证跳转状态
Nginx
如果您需要将 HTTP 请求自动重定向到 HTTPS
,您可以通过以下操作设置:
-
使用Nginx重定向功能,在HTTP的
server
中增加return 301 https://$host$request_uri;
,即可将HTTP
请求重定向为HTTPS
。修改如下内容:server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
} -
重新启动 Nginx 服务器即可使用域名访问,实现
HTTP
自动跳转HTTPS
。
完整安装SSL证书流程清查看 Nginx服务器安装锐安信ssl证书教程
Tomcat
如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:
-
编辑
/usr/tomcat9.0.13/conf
目录下的web.xml
文件,找到</welcome-file-list>
标签。 -
请在结束标签
</welcome-file-list>
后面换行,并添加以下内容。<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> -
编辑
/usr/tomcat9.0.13/conf
目录下的server.xml
文件,将redirectPort
参数修改为 SSL 的connector
的端口,即443端口。如下所示:<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> -
保存配置文件,在
bin
目录下执行以下命令,确认配置是否正确。./configtest.sh
-
如果配置没有问题,重启Tomcat服务器即可使用域名访问,实现HTTP自动跳转HTTPS。
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
完整安装SSL证书流程清查看 Tomcat服务器安装锐安信ssl证书教程
IIS
-
打开 IIS 服务管理器。
-
选择网站下的站点名称,双击打开“URL 重写”。如下图所示:
注意执行该步骤前请先下载安装 URL Rewrite模块。
-
进入“URL 重写”页面,并单击右侧“操作”栏的 添加规则。如下图所示:
-
在弹出的“添加规则”窗口中,选择 空白规则,单击 确定。如下图所示:
-
进入“编辑入站规则”页面。如下图所示:
- 名称:填写 Http redirect to https。
- 匹配URL:在“模式”中手动输入
(.*)
。 - 条件:
- 单击添加,弹出 “添加条件” 窗口。
- 条件输入:
{HTTPS}
。 - 检查输入字符串是否:默认选择与模式匹配。
- 模式:手动输入
^OFF$
。
- 操作:填写以下参数。
- 操作类型:选择重定向。
- 重定向 URL:
https://{HTTP_HOST}/{R:1}
。 - 重定向类型:301重定向。
-
单击右侧“操作”栏的 应用 保存。
-
返回网站首页,单击右侧“管理网站”栏的 重新启动。即可使用HTTPS进行访问。
完整安装SSL证书流程清查看 IIS服务器安装锐安信ssl证书教程
Apache
如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:
-
编辑
/etc/httpd/conf
目录下的httpd.conf
配置文件。检查该配置文件是否存在LoadModule rewrite_module modules/mod_rewrite.so
。 如果存在,请去掉首行的注释符号(#),如果不存在,请添加该行LoadModule rewrite_module modules/mod_rewrite.so
,然后保存配置文件。 -
打开http.conf文件,在配置文件中添加以下内容:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。
完整安装SSL证书流程清查看 Apache服务器安装锐安信ssl证书教程
Apache2
如果您需要将 HTTP 请求自动重定向到 HTTPS,您可以通过以下操作设置:
-
在命令行中输入
a2enmod rewrite
启用重定向模块 -
然后打开http配置文件,例如:
/etc/apache2/sites-available/000-default.conf
,在配置文件中添加以下内容:<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
重新启动Apache服务器即可使用域名访问,实现HTTP自动跳转HTTPS。
完整安装SSL证书流程清查看 Apache2服务器安装锐安信ssl证书教程