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究竟是啥?这篇文章带你快速了解HTTPS

HTTPS(Hypertext Transfer Protocol Secure)即“安全的超文本传输协议”,是一种通过加密和认证保护网络通信安全的协议。HTTPS是HTTP协议的安全版本,在传输过程中通过加密算法对数据进行加密,避免敏感数据在传输过程中被窃取或篡改。 HTTPS的加密过程采用SSL(Secure Sockets Layer)/TLS(Transport Layer Securi

Public @ 2023-04-23 10:00:12

HTTPS的工作原理,哪些网站适合使用HTTPS?

HTTPS的工作原理: 1. HTTPS(Hypertext Transfer Protocol Secure)使用了SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来对HTTP的通信进行加密和认证。 2. 在建立HTTPS连接时,客户端发送请求到服务器,并且服务器会发送一个公钥给客户端。 3. 客户端使用公钥对称地加密一个随机的

Public @ 2023-06-28 17:00:39

HTTP使用RSA公钥加密算法加密明文

网站想要加密传输数据以防被窃取,最可靠的方式莫过于使用公钥加密算法加密,使用HTTPS协议的网站在整个传输过程中都使用了这个技术,对于未能使用HTTPS的HTTP网站我们也可以自行实现。功能说明由于HTTP是直接传输明文数据的,在网络安全越发严峻的今天,未经加密的HTTP方式已经变得岌岌可危,谷歌公司更是直接表明在搜索结果中会优先考虑使用HTTPS加密的网站。尽管整体趋势是向HTTPS倾斜的,但是

Public @ 2017-11-18 15:56:00

更多您感兴趣的搜索

0.551459s