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

网站漏洞解决方案

网站漏洞解决方案包括以下几个方面: 1. 安全意识培训:提高开发人员对安全问题的认识和敏感度,加强他们的安全意识,培训他们如何编写安全的代码和进行安全测试。 2. 安全审计和漏洞扫描:定期对网站进行安全审计,检测和修复潜在的漏洞。可以使用自动化的漏洞扫描工具,如黑盒扫描和白盒扫描,以及手工的安全审计方法。 3. 强化访问控制:确保网站只允许授权用户访问,并采取适当的身份验证和授权机制,如使用

Public @ 2023-07-31 14:50:40

说说劫持的那些事

劫持是一种非法行为,通常指在没有得到被劫持者同意的情况下,把人或财物带离原地或场所并掌控它们。这种行为通常被视为恐怖主义或犯罪活动,给被劫持者和社会带来危害和恐慌。 劫持的形式有许多种,例如劫持飞机、船只、公交车、列车、考场等,目的各不相同,但都存在不可预测的危险。被劫持者通常会受到威胁、绑架甚至遭受暴力伤害。 在世界范围内,许多国家和地区都曾经历过各种形式的劫持事件,例如美国的“9.11”事

Public @ 2023-06-17 10:00:19

从百度取消referer关键词说起

百度在2020年3月份开始逐步取消了referer关键词的显示,即当用户从百度搜索结果页面点击进入某个网站时,该网站无法从referer中获取到用户所使用的搜索关键词信息。这意味着网站无法通过这种方式进行搜索引擎优化(SEO),也不能根据用户搜索关键词定向投放广告。 百度取消referer关键词的原因有两个:一是出于隐私保护的考虑,避免个人信息泄露;二是出于用户体验的考虑,避免用户被网站的广告打

Public @ 2023-06-01 21:00:24

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.548433s