Categories


Tags


IIS和Apache实现HTTP重定向到HTTPS

本文介绍IIS7和Apache上实现访问HTTP跳转到HTTPS访问的方法,网站设计出于安全的考虑需要使用https协议,但不少用户因为输入网址的习惯不喜欢带上https协议,导致访问异常,因此需要一种重定向功能,实现HTTP网站重定向到HTTPS网站的方法,具体操作如下。

IIS7

从微软的官方网站下载HTTP重写模块,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,双击“URL重写”,在右边窗体中选择“添加规则”,并添加一个空白规则,给规则自定义一个名字(名称自便),比如我这里叫“redirect to HTTPS”,模式为:(.*),添加一个条件,条件输入为 {HTTPS},与模式匹配,模式为 ^OFF$,然后配置操作,操作类型为:重定向,重定向到URL为:https://{HTTP_HOST}/{R:1},重定向类型:永久301。

设置完毕后点击右侧的“应用”,这个 URL 重写就配置完毕了。

配置后,根目录下的web.config文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="redirect to HTTPS" enabled="true" stopProcessing="true">

<match url="(.*)" />

<conditions>

<add input="{HTTPS}" pattern="^OFF$" />

</conditions>

<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

Apache

修改.htaccess文件,在文件里增加如下几行:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

另一种写法是:

RewriteEngine on

RewriteBase /

RewriteCond %{SERVER_PORT} !^443$

RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

来源:月光博客


Public @ 2012-12-08 15:56:01

大型网站的 HTTPS 实践(1):HTTPS 协议和原理

HTTPS 是一种基于 SSL/TLS 协议的安全传输协议,它在 HTTP 协议之上添加了加密和验证机制,使得通信过程中的信息得到保护,防止被窃听或篡改。下面是 HTTPS 协议的基本原理。 1. SSL/TLS 握手协议 HTTPS 的基础是 SSL/TLS 协议,它使用握手协议来建立安全连接。握手协议包括以下步骤: (1)客户端向服务器发送连接请求,并告知能够使用的 SSL/TLS 版本

Public @ 2023-04-01 21:00:52

SSL的安全配置和检测

SSL(Secure Socket Layer)是一种加密技术,用于保护网站和数据传输的安全。正确的SSL配置和检测是确保您的网站和用户数据安全的关键因素之一。 以下是SSL的安全配置和检测步骤: 1. 选择正确的SSL证书:选择正确的SSL证书非常关键。建议选择256位加密密钥的SSL证书,这样可以提供更高的安全性。 2. 安装SSL证书:一旦您选择了SSL证书,必须安装它。如果您使用的是

Public @ 2023-05-30 03:00:30

百度对HTTPS站点全流程支持方案文字概述

5月25日,VIP大讲堂-网站安全那些事儿成功举办,现场发布百度对HTTPS站点全流程支持方案,收到站长们广泛关注!学堂君贴心的将现场演讲提炼成文字版本带给大家,快来看吧!HTTPS优势HTTPS是基于tls和ssl加密的HTTP协议,网络传输是加密的,因此它的安全是显而易见的,包括防窃听、篡改、劫持。HTTPS的收录机制1、Spider如何发现HTTPS1)、根据网页中的超链接是否是HTTPS,

Public @ 2009-04-01 15:35:49

discuz、ecshop、帝国cms部署https(ssl)后会员无法登录

注意,以下教程只针对我司港台虚拟主机或者亚数的云主机香港IP部署SSL后的301跳转1.discuz部署https后台无法登录:discuz采用: $_SERVER[‘HTTPS’] 方式判断,我司虚拟主机不支持同时也不支持$_SERVER['HTTP_HOST'],需使用$_SERVER['HTTP_FROM_HTTPS']进行判断,其他php程序同样适用。sou

Public @ 2018-11-02 15:55:57

更多您感兴趣的搜索

0.673888s