适用于 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; } }
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4793.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~