10
2024
01
14:40:48

各http服务软件,自动跳转到HTTPS

适用于 IIS7 IIS8 ~

1. 打开IIS管理器 , 选择需要设置跳转的站点, 功能列表选择 URL 重写, 双击打开

如果你的IIS没有这个图标,需要先安装 URL 重写模块. 下载地址:

微软下载地址(64位):http://www.microsoft.com/zh-cn/download/details.aspx?id=7435
微软下载地址(32位):http://www.microsoft.com/zh-cn/download/details.aspx?id=5747

2. 添加规则 –  新建 空白规则

3. 填写名称 , 模式

4. 添加条件

5 . 点击应用 ,设置完成。

其他需求

同一个站点绑定2个域名,另一个未安装SSL, 仅允许指定的域名跳转

添加一个条件  {HTTP_HOST}   模式 ^(abc.com|www.abc.com)$












TOMCAT


修改项目WEB-INF/WEB.XML 文件

在文件结尾增加 :

<security-constraint>
<web-resource-collection>
<web-resource-name>My APP</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

web.xml

 

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0" metadata-complete="true">
  ...   <security-constraint>
    <web-resource-collection>
        <web-resource-name>My APP</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint></web-app>









APACHE强制跳转到 HTTPS


网站根目录新建 .htaccess

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

站点绑定多个域名,只允许www.example.com 跳转

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

###把网址更改为自己的###

高级用法 (可选)

RewriteEngine on
# 强制HTTPS
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} 80
# 某些页面强制
RewriteCond %{REQUEST_URI} ^something_secure [OR]
RewriteCond %{REQUEST_URI} ^something_else_secure
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# 强制HTTP
RewriteCond %{HTTPS} =on [OR]
RewriteCond %{SERVER_PORT} 443
# 某些页面强制
RewriteCond %{REQUEST_URI} ^something_public [OR]
RewriteCond %{REQUEST_URI} ^something_else_public
RewriteRule .* http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]


NGINX 强制跳转到HTTPS

在Nginx站点配置中增加一行

rewrite ^(.*)$ https://$host$1 permanent;

Nginx配置有2中情况, 80 443在同一个server{} 和不同server{}

第一种  ( 80端口 和 443端口是分开的两个server{} ):

server {
    listen   80;
    listen   [::]:80;

    server_name www.example.com;

    return 301 https://$server_name$request_uri;
}
server {
    listen   443 ssl;

    server_name www.example.com;

    ssl_certificate        /path/www.example.com.crt;
    ssl_certificate_key  /path/www.example.com.key;

}

第二种 (80 443端口在同一个server{} ):

server {
    listen   80;
    listen   [::]:80;
    listen   443 ssl;

    server_name www.example.com;

    ssl_certificate        /path/www.example.com.crt;
    ssl_certificate_key  /path/www.example.com.key;

    if ($scheme = http) {
        return 301 https://$server_name$request_uri;
    }
}




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4793.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: