强制http跳转https页面

合集下载

网页是http的,但是添加受信任网页的时候又要求https,怎么办?

网页是http的,但是添加受信任网页的时候又要求https,怎么办?

⽹页是http的,但是添加受信任⽹页的时候⼜要求https,怎么办?概念
1. http就是我们平时浏览⽹页时候使⽤的⼀种协议,他传输的数据都是未加密的,也就是明
⽂的,因此使⽤http协议传输隐私信息⾮常不安全;
2. https是在http的基础上加⼊了ssl协议,依靠证书来验证服务器的⾝份,为浏览器和服务器
之间的通信加密。

区别
https需要CA申请证书,⼀般免费证书很少,需要交费;
http是超⽂本传输协议,信息是明⽂传输,https则是具有安全性的ssl加密传输协议;
http和https使⽤的是完全不同的连接⽅式,⽤的端⼝也不⼀样,前者是80,后者是443端⼝;
http连接很简单,是⽆状态的,https协议是由ssl+http协议构建的可进⾏加密传输,⾝份认证的
⽹络协议,⽐http跟安全。

解决办法
打开IE浏览器--Internet选项,如下图
然后出现下图
依次把想要的⽹页添加进去,切记,去掉“对该区域中的所有站点要求服务器验证”的√,点击关
闭即可。

这样就解决问题,但是对该⽹站的浏览安全性就没有了,对于不明⽩的⽹站,不要随便添加。

跳转地址怎么操作方法

跳转地址怎么操作方法

跳转地址怎么操作方法
要进行跳转地址的操作,可以使用以下方法:
1. 使用超链接:在HTML中,可以使用<a>标签来创建一个超链接,然后设置其href属性为目标地址。

例如:<a href="目标地址">文本显示</a>。

当用户点击该链接时,页面会自动跳转到目标地址。

2. 使用JavaScript:如果需要在JavaScript代码中进行跳转操作,可以使用window对象的location属性来实现。

例如,使用location.href = "目标地址"来进行跳转。

可以将这段代码放置在事件处理函数中,当用户触发相应事件时会执行跳转操作。

3. 使用HTTP重定向:在服务器端,可以通过设置HTTP响应头中的Location 字段来实现跳转。

例如,在PHP中可以使用header函数进行跳转:header("Location: 目标地址")。

无论使用哪种方法,都需要将目标地址正确地指定为要跳转到的页面的地址。

把http访问的页面转换成SSL支持的https访问

把http访问的页面转换成SSL支持的https访问

如何把用http访问的网页转换用https访问环境:Windows 2000 Server组件:IIS5.0, 证书颁发机构(安装windows组件)虚拟目录:http://localhost/kosoft/index.aspx设置网站的SSL是基于站点的,而不是针对某个虚拟目录。

一、申请文本形式的证书1.浏览“证书颁发机构”组件(一般安装以后会出现在开始---程序---管理工具),如图12.创建新的证书申请打开IIS,在默认Web站点上右键选择“属性”,点击“目录安全性”选项卡,在“安全通信”中点击按钮“服务器证书(S)…”,系统打开了向导。

如图23.选择“创建一个新证书(C)”,点击“下一步”,“下一步”,输入名称“KoSoft”,选择位长“1024”位,点击“下一步”。

4.系统出现“组织”、“组织部门”,随便填写几个相关数据。

点击“下一步”,出现“站点的公用名称”,保持默认,点击“下一步”,选择“国家”、“省”、“市”。

点击“下一步”。

5.系统出现“证书请求文件名”页面,选择您想要的文件名和存放位置。

这里保持默认。

6.点击“下一步”,点击“完成”就申请了一个证书。

二、生成crt文件证书1.访问http://localhost/certsrv/把刚才申请的证书提交证书颁发机构。

出现如下的访问页面,如图32.选择“申请证书”,点击“下一步”,选择“高级申请”,点击“下一步”,选择“使用base64 编码的PKCS #10 文件提交一个证书申请,或使用base64 编码的PKCS #7 文件更新证书申请”。

点击“下一步”,出现如图4:3.点击“浏览”插入刚才生成的certreq.txt文件内容,或者打开certreq.txt把内容复制,粘贴到这里。

然后点即“提交”。

4.您可以看到,您申请的证书已经收到,并且现在的状态是挂起。

5.回到“证书颁发机构”组件,点击“待定申请”页,可以看到您刚才的申请单,如图56.在证书上,右键选择“所有任务”——颁发,则证书就转移到了“颁发的证书”节点下,如图6:到此为止,证书已经申请,并且颁发成功。

5种网页跳转方法详解

5种网页跳转方法详解

5种网页跳转方法详解网页自动跳转,是指当用户访问某个网页时,被自动跳转到另一个网页中去。

网页自动跳转的主要作用是,当域名变更后,或者网站里的一个或多个网页被删除后,可以使用这种方式将用户引导到其它正常的网页中去,从而留住用户。

不过,现在有许多人利用网页自动跳转来进行作弊,欺骗搜索引擎,从而实现提高网站搜索引擎排名的目的。

比较典型的方式是:先做一个“桥页”,当搜索引擎收录了这个桥页,并有较高排名时,桥页中再使用网页自动跳转方式,将用户引导到用户本来无意访问的其它网页中去。

下面介绍一下5种常见的网页自动跳转方法,以及搜索引擎对这些跳转方法的辨识能力。

第一种网页自动跳转方法:Meta Refresh自动跳转法在网页的head区域的Meta Refresh标签中,加入自动跳转代码,可实现网页的立即或延时自动跳转。

示例如下:(META http-equiv=Refresh content=10;url=/)上述html代码中的“10”是延时跳转的时间,单位是秒。

如果设为0,就表示立即跳转。

“”是跳转的目标地址,可以是同一域名下的站内相对路径,也可以是不同域名的站外地址。

由于搜索引擎能够读取HTML,所以对于这种自动跳转方法,搜索引擎是能够自动检测出来的。

至是会不会被视为作弊,则主要看跳转时间。

如果跳转时间为0,就可能会被视为作弊,从而受到惩罚。

如果有时间延迟(一般3秒以上),就会被视为正常应用。

第二种网页自动跳转方法:body onload自动跳转法在网页加载时通过onload事件指定parent.location进行自动跳转。

示例如下:这种方法与第一种方法一样,能够被搜索引擎识别。

第三种网页自动跳转方法:javascript自动跳转法javascript可以实现网页的自动跳转,如果要实现立即跳转,将跳转代码放在网页的head区域即可。

示例如下:(SCRIPT language=javascript>location.replace("/html/gov2/")其中的“/html/gov2/”是重定向目标地址。

nginx上通过ssl证书将http转发为https

nginx上通过ssl证书将http转发为https

nginx上通过ssl证书将http转发为https环境:阿⾥云linux,ngnix 1.16.0 ,ssl证书,XXXX.jar0.⾃⾏在阿⾥云上下载免费的ssl证书。

⾥⾯有2个⽂件。

key和pem后⾯要⽤到。

1.⾸先将项⽬在linux上跑起来,内部端⼝号是8082;java -jar XXXX.jar3.进⼊nginx安装⽬录。

我的安装⽬录是:/usr/local/nginx 找到conf并进⼊1)创建⼀个⽂件夹 mkdir cert,将0处的2个⽂件放在⾥⾯。

3.配置nginx:主要配置2个server,⼀个80,⼀个443。

80⽤于拦截请求,将请求改变为https并且转发给443,然后443在将域名和⾃⼰的8082项⽬挂钩。

完整配置:下⾯将修改的地⽅标红了。

#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;}# HTTPS serverserver {listen 443 ssl;#⾃⼰的域名地址server_name jijiji.store;#ssl证书位置。

ssl_certificate cert/21.pem;ssl_certificate_key cert/21.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;}结果:。

为何我的网站http总是跳转https?能不能让http不跳转https?谈谈我遇到的坑和。。。

为何我的网站http总是跳转https?能不能让http不跳转https?谈谈我遇到的坑和。。。

为何我的⽹站http总是跳转https?能不能让http不跳转https?
谈谈我遇到的坑和。

如题,突然想给我的个⼈⽹站加⼀个ssl,让它能够通过https访问。

但⼀顿操作猛如虎后,发现只能https访问了,⼿动输⼊http也会⽆限跳转到https。

现在说下我的排查思路和解决⽅案:
1. 先从⾃⼰的服务器配置找原因
(1)看看是不是⽹站代码设置的强制跳转https
(2)看看是不是apache,nginx等设置了强制跳转https
(3)看看是不是宝塔界⾯设置了强制跳转https
2. 去看看是不是域名服务器商的问题,阿⾥云的域名是可以设置强制跳转https的
3. 换个浏览器,⽐如在360安全浏览器上,如果你同时访问过http和https,它就会默认强制将http跳转到https。

解决⽅案就是清除浏览器缓存(我就是被这个坑了,泪)。

如何设置网站跳转代码

如何设置网站跳转代码

网页跳转代码大全很多朋友都还不会写网页跳转代码,网络上找也不容易,比较乱,我也是因为在网上找了很久,才整理出以下这些比较简单的代码,能轻松实现跳转,在此公布给各位同行们,推荐使用第二种代码(作蓝色标志的)<一>三种网页跳转代码:如果你要在服务器端跳转,可以这样:Response.Redirect()Response.End如果你要在客户端跳转,可以这样:<script language="javascript" type="text/javascript">window.location="http: //";;</script>如果你要让页面显示几秒钟之后跳转,可以在html代码的<head></head>部分加上这样的代码:<meta http-equiv="refresh" content="3; url=">(3秒钟后自动跳转到)以上三种是也比较常见,比较常用的网页跳转代码运行平台Win9x WinNT Win2000 WinME WinXP。

<二>最简单的两种跳转代码,只要将其复制到<head>与</head>之间就能轻松的实现(下面这两种很简单,比较容易,推荐使用。

)下面来看看这两种代码是如何写的吧1、可延时跳转<meta http-equiv=Pragma content=no-cache><Meta http-equiv="refresh" content="5;url='/">url=填写网址如/2、直接跳转<script>location.href="/"</script>.href="填写网址,如/<三>网页跳转<meta http-equiv="refresh" content="3;rul=跳转的网页">此代码可以让网页在一定的时间内,跳转到另外一个网页上,其中content=" 为跳转前停暂的秒数,rul= 为跳转的网址<meta http-equiv="refresh" content="3;rul=跳转的网页">此代码可以让网页在一定的时间内,跳转到另外一个网页上,其中content=" 为跳转前停暂的秒数,rul= 为跳转的网址===================================================================<html><head><title>网页跳转</title><meta http-equiv="refresh" content="0;url=cgi-bin/leoboard.cgi"></head><body></body></html>===================================================================1,页面自动刷新:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20">,其中20指每隔20秒刷新一次页面.2,页面自动跳转:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20;url=">,其中20指隔20秒后跳转到页面。

强制http跳转https页面

强制http跳转https页面

she强制h‎t tp跳转h‎t tps页面‎简介https在‎现在网络中是‎公认的安全的‎访问方式,但是在访问的‎过程中很多站‎点是没有强制‎h ttps访‎问的,这样会导致有‎些客户可以通‎过http访‎问,从而对服务器‎造成一些不安‎全因素。

下文将介绍几‎种强制htt‎p s访问的方‎法。

一,wordpr‎e ss中设置‎h t tps强‎制访问。

默认登录wo‎r dpres‎s的后台是使‎用http协‎议,这协议是明文‎发送的。

这可能会导致‎你的用户和密‎码被窃听。

如果使用ss‎l登录,这种情况则可‎以避免。

下面是设置方‎法。

1、设置wp-config‎.php‎n g. *//* That's all, stop editin‎g! Happy bloggi...requir‎e_once‎(ABSPAT‎H . 'wp-settin‎g s.php');2、在上面的代码‎之前加上如下‎代码:define‎('FORCE_‎S SL_LO‎G IN', true);define‎('FORCE_‎S SL_AD‎M IN', true);define‎(‘FORCE_‎S SL_LO‎G IN’, true);#是启用登录时‎使用ssldefine‎(‘FORCE_‎S SL_AD‎M IN’, true);#后台管理也使‎用ssl如果担心后台‎使用ssl影‎响速度,可以不用。

但还是建议使‎用,因为这将有可‎能cooki‎e 被劫持导致‎黑客伪造co‎o kie登录‎后台。

wordpr‎e ss只需要‎几步设定就可‎以启用强制使‎用HTTPS‎登入后端管理‎界面首先到wp-config‎.php中找到‎下面这段:if ( !define‎d(‘ABSPAT‎H’) )define‎(‘ABSPAT‎H’, dirnam‎e(__FILE‎__) . ‘/’);找到它以后,請在它上面加‎入下列此行:define‎(‘FORCE_‎S SL_LO‎G IN’, true);接下來请在V‎H OST上设‎定好SSL的‎相关设置..这里就不再叙‎述了以下附上ng‎i nx上如何‎使用vhos‎t并且自动r‎e write‎url跳转到‎h ttps管‎理页面的设定‎值:请在rewr‎ite rule上面‎加入rewr‎i te ^.*/wp-admin(.*)https://wp.little‎c ho.tw/wp-admin$1 last; 即可例如下:locati‎o n / {try_fi‎l es $uri $uri/ /index.php;rewrit‎e ^.*/w p-adm in(.*) h ttps://wp.little‎c ho.tw/wp-admin$1 last;}设定完毕后当‎输入http://xxxx.domain‎.tld/wp-admin时就会自动跳‎转了。

设置HTTP请求自动跳转HTTPS

设置HTTP请求自动跳转HTTPS

设置HTTP请求⾃动跳转HTTPS第⼀种⽅式,分两种情况:第⼀种情况:修改Nginx安装⽬录/conf/nginx.conf⽂件server {listen 80;server_name localhost; #将localhost修改为您证书绑定的域名,例如:。

rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。

location / {index index.html index.htm;}}# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据⾃⼰的需要进⾏配置。

server {listen 443 ssl; #SSL协议访问端⼝号为443。

此处如未添加ssl,可能会造成Nginx⽆法启动。

server_name localhost; #将localhost修改为您证书绑定的域名,例如:。

root html;index index.html index.htm;ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的⽂件名。

ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥⽂件名。

ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使⽤此加密套件。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使⽤该协议进⾏配置。

ssl_prefer_server_ciphers on;location / {root html; #站点⽬录。

index index.html index.htm;}}第⼆种情况:虚拟主机配置SSL证书,虚拟主机配置⽂件vhost.conf或*.confserver {listen 80;server_name localhost ;location / {index index.html index.htm;}}server {listen 443 ssl;server_name localhost;root html;index index.html index.htm;ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的⽂件名。

网页自动跳转代码

网页自动跳转代码

某网页网址变更以后,为方便不知道网址变更的朋友访问,可让原来的网页自动跳转到新的网址,代码如下:一、普通HTML页面的跳转代码:1.<meta http-equiv="refresh" content="5;URL=/rr91">说明:1、上面的代码,放在网页头部的“</head>”上面;2、数字5,是5秒以后自动跳转,可自己按照需要设置;3、网址,就是自动跳转到的新的网址。

4.网页需要加载完毕后才能跳转。

2.利用Javascript语言<script> location="/rr91";</script>说明:本代码是网页一打开就直接跳转到/rr91上面去了!二、PHP跳转代码:<?//PHP自带函数,注意:使用该Header函数时必须网页未产生任何输出,此时尤其要注意空格的问题。

即必须放在网页最开始处Header("Location:/rr91");>三、ASP跳转代码:<%'asp 自带Response.Redirect("/rr91")%>自动转向,也叫自动重定向。

自动跳转,指当访问用户登陆到某网站时,自动将用户转向其它网页地址的一种技术。

转向的网页地址可以是网站内的其它网页,也可以是其它网站。

通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码。

该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能。

对自动转向技术的合理应用包括:将用户转向到指定浏览器的网页版本;当网站的域名变更或删除后将人们转向到新域名下,等等。

但现在这种技术却往往被搜索引擎优化人士用来作为提高网站的搜索引擎排名的一种手段。

例如,先专门针对搜索引擎做一个高度优化的网页,也就是我们通常所说的“桥页”,然后把这个网页提交给搜索引擎来获得好的排名。

SSL证书自动切换HTTPS页面与HTTP页面

SSL证书自动切换HTTPS页面与HTTP页面

SSL证书自动切换HTTPS页面与HTTP页面一、背景资料安全套接层协议(SSL,Security Socket Layer)基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。

SSL主要使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。

SSL安全协议主要提供三方面的服务:(1)认证用户和服务器, 使得它们能够确信数据将被发送到正确的客户机和服务器上;(2)加密数据以隐藏被传送的数据;(3)维护数据的完整性, 确保数据在传输过程中不被改变。

对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性电子商务网站中,有的页面需要SSL,有的页面不需要SSL,那我们如何能够自动快速在HTTPS和HTTP之间切换呢?二、解决方案1、原理实现IHttpModule接口2、效果预览HTTP页面点击Login.aspx超链接自动跳转到Https页面,如下图点击Contact.aspx链接又自动切换为http页面,如下图三、源码分析使用第三方程序集 WebPageSecurity.dll四、使用方式1、添加程序集到Bin文件夹添加程序集WebPageSecurity.dll到Bin文件夹2、配置Web.Config在< configSections >节点下加入以下配置<section name="secureWebPages"type="Ventaur.Web.Security.Configuration.SecureWebPageS ettings, WebPageSecurity"/>在<configuration>节点下加入以下配置:<secureWebPages mode="RemoteOnly" ignoreHandlers="WithStandardExtensions"><files><add path="Login.aspx" /><add path="Legal/Privacy.aspx" /><add path="Legal/Copyright.aspx" secure="Ignore" /></files><directories><!--<add path="/" recurse="True" />--><add path="Admin" recurse="True" /><add path="Admin/Info/" secure="Insecure" /></directories></secureWebPages>属性解释<files>节点下的超链接默认是使用SSL加密的。

开启HSTS让浏览器强制跳转HTTPS访问

开启HSTS让浏览器强制跳转HTTPS访问

开启HSTS让浏览器强制跳转HTTPS访问开启HSTS让浏览器强制跳转HTTPS访问在⽹站全站HTTPS后,如果⽤户⼿动敲⼊⽹站的HTTP地址,或者从其它地⽅点击了⽹站的HTTP链接,通常依赖于服务端301/302跳转才能使⽤HTTPS服务。

⽽第⼀次的HTTP请求就有可能被劫持,导致请求⽆法到达服务器,从⽽构成HTTPS降级劫持。

这个问题⽬前可以通过HSTS(HTTP Strict Transport Security,RFC6797)来解决。

HSTS简介HSTS(HTTP Strict Transport Security)是国际互联⽹⼯程组织IETF发布的⼀种互联⽹安全策略机制。

采⽤HSTS策略的⽹站将保证浏览器始终连接到该⽹站的HTTPS加密版本,不需要⽤户⼿动在URL地址栏中输⼊加密地址,以减少会话劫持风险。

HSTS响应头格式Strict-Transport-Security: max-age=expireTime [; includeSubDomains] [; preload]max-age,单位是秒,⽤来告诉浏览器在指定时间内,这个⽹站必须通过HTTPS协议来访问。

也就是对于这个⽹站的HTTP地址,浏览器需要先在本地替换为HTTPS之后再发送请求。

includeSubDomains,可选参数,如果指定这个参数,表明这个⽹站所有⼦域名也必须通过HTTPS协议来访问。

preload,可选参数,⼀个浏览器内置的使⽤HTTPS的域名列表。

HSTS Preload List虽然HSTS可以很好的解决HTTPS降级攻击,但是对于HSTS⽣效前的⾸次HTTP请求,依然⽆法避免被劫持。

浏览器⼚商们为了解决这个问题,提出了HSTS Preload List⽅案:内置⼀份可以定期更新的列表,对于列表中的域名,即使⽤户之前没有访问过,也会使⽤HTTPS协议。

⽬前这个Preload List由Google Chrome维护,Chrome、Firefox、Safari、IE 11和Microsoft Edge都在使⽤。

Nginx配置HTTPS并兼容HTTP(强制转发)

Nginx配置HTTPS并兼容HTTP(强制转发)

Nginx配置HTTPS并兼容HTTP(强制转发)使⽤ OpenSSL ⽣成 SSL Key 和 CSR ⽂件配置 HTTPS 要⽤到私钥 example.key ⽂件和 example.crt 证书⽂件,申请证书⽂件的时候要⽤到 example.csr ⽂件,OpenSSL命令可以⽣成 example.key ⽂件和 example.csr 证书⽂件。

CSR:Cerificate Signing Request,证书签署请求⽂件,⾥⾯包含申请者的 DN(Distinguished Name,标识名)和公钥信息,在第三⽅证书颁发机构签署证书的时候需要提供。

证书颁发机构拿到 CSR 后使⽤其根证书私钥对证书进⾏加密并⽣成 CRT 证书⽂件,⾥⾯包含证书加密信息以及申请者的 DN 及公钥信息Key:证书申请者私钥⽂件,和证书⾥⾯的公钥配对使⽤,在 HTTPS 『握⼿』通讯过程需要使⽤私钥去解密客⼾端发來的经过证书公钥加密的随机数信息,是 HTTPS 加密通讯过程⾮常重要的⽂件,在配置 HTTPS 的時候要⽤到使⽤OpenSSl命令可以在系统当前⽬录⽣成 example.key 和 example.csr ⽂件:1openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=Example Inc./OU=Web Security/CN="下⾯是上述命令相关字段含义:C:Country ,单位所在国家,为两位数的国家缩写,如: CN 就是中国ST 字段: State/Province ,单位所在州或省L 字段: Locality ,单位所在城市 / 或县区O 字段: Organization ,此⽹站的单位名称;OU 字段: Organization Unit,下属部门名称;也常常⽤于显⽰其他证书相关信息,如证书类型,证书产品名称或⾝份验证类型或验证内容等;CN 字段: Common Name ,⽹站的域名;⽣成 csr ⽂件后,提供给 CA 机构,签署成功后,就会得到⼀個 example.crt 证书⽂件,SSL 证书⽂件获得后,就可以在 Nginx 配置⽂件⾥配置 HTTPS 了。

HTTP 连接自动重定向到 HTTPS 连接

HTTP 连接自动重定向到 HTTPS 连接
c. 转到步骤 3。
? Windows 2000 Server (IIS 5.0)
注意:如果正在 Windows 2000 Server 上运行 Exchange 5.5、Exchange 2000 或 Exchange 2003 Outlook Web Access,则按照下列步骤操作。
a. 单击“开始”,指向“程序”,指向“管理工具”,然后单击“Internet 服务管理器”。
6. 单击“下一步”,将“访问权限”页面上的默认复选框保持选中状态,单击“下一步”,然后单击“完成”。
7. 右键单击 Exchange 虚拟目录,然后单击“属性”。
8. 单击“自定义错误”选项卡,然后双击“403.4”。
9. 在“消息类型”列表中,单击“URL”。
10. 在“URL”框中,键入 /owa_redirect/owahttps.asp,然后单击“确定”。
要允许发自 Outlook Web Access 用户的初始 HTTP 请求,请确保不要对 OWA_Redirect IIS 应用程序要求使用 SSL。如果对 OWA_Redirect 应用程序要求使用 SSL,则会无法建立初始 HTTP 连接。此外,不要对包含 OWA_Redirect 应用程序的根网站要求使用 SSL。
d. 转到步骤 3。
3. 右键单击该网站,指向“新建”,然后单击“虚拟目录”。
4. 单击“下一步”,在“别名”框中键入 OWA_Redirect,然后单击“下一步”。
5. 在“目录”框中,键入其中存储着 Owahttps.asp 网页的 OWAasp 文件夹的路径。例如,键入 c:\inetpub\wwwroot\owaasp。
strSecureURL = strSecureURL & "/exchange"

Nginx之https配置-运维笔记(http-https强转)

Nginx之https配置-运维笔记(http-https强转)

Nginx之https配置-运维笔记(http-https强转)⼀、Nginx安装(略)安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。

Nginx安装⽅法:# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module# make && make install三、修改Nginx配置server {listen 443;server_name ;root /var/www/vhosts//httpdocs/main/;ssl on;ssl_certificate /usr/local/nginx/cert/wangshibo.crt;ssl_certificate_key /usr/local/nginx/cert/wangshibo.key;ssl_session_timeout 5m;ssl_protocols SSLv2 SSLv3 TLSv1;ssl_ciphers HIGH:!aNULL:!MD5; //或者是ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on;access_log /var/www/vhosts//logs/clickstream_ssl.log main;error_log /var/www/vhosts//logs/clickstream_error_ssl.log;if ($remote_addr !~ ^(124.165.97.144|133.110.186.128|133.110.186.88)) { //对访问的来源ip做⽩名单限制rewrite ^.*$ /maintence.php last;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_read_timeout 300;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;#include fastcgi_params;include fastcgi.conf;}}http访问强制跳转到https⽹站添加了https证书后,当http⽅式访问⽹站时就会报404错误,所以需要做http到https的强制跳转设置.⼀、采⽤nginx的rewrite⽅法1) 下⾯是将所有的http请求通过rewrite重写到https上。

nginx配置https并强制http自动跳转到https

nginx配置https并强制http自动跳转到https

nginx配置https并强制http⾃动跳转到https 关于使⽤HTTPS/SSL的必要性,可以⾃⾏baidu,援引的说法,EFF(Electronic Frontier Foundation),全球过半流量采⽤https。

关于SSL的握⼿过程,简单的来说,如下,线上报⽂流:(1).client_hello客户端发起请求,以明⽂传输请求信息,包含版本信息,加密套件候选列表,压缩候选列表,随机数,扩展字段等信息,相关信息如下: • ⽀持的最⾼TSL协议版本version,从低到⾼依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使⽤低于 TLSv1 的版本;• 客户端⽀持的加密套件 cipher suites 列表,每个加密套件对应前⾯ TLS 原理中的四个功能的组合:认证算法 Au (⾝份验证)、密钥交换算法 KeyExchange(密钥协商)、对称加密算法 Enc (信息加密)和信息摘要 Mac(完整性校验);• ⽀持的压缩算法 compression methods 列表,⽤于后续的信息压缩传输;• 随机数 random_C,⽤于后续的密钥的⽣成;• 扩展字段 extensions,⽀持协议与算法的相关参数以及其它辅助信息等,常见的 SNI 就属于扩展字段,后续单独讨论该字段作⽤。

(2).server_hello+server_certificate+sever_hello_done• server_hello, 服务端返回协商的信息结果,包括选择使⽤的协议版本 version,选择的加密套件 cipher suite,选择的压缩算法compression method、随机数 random_S 等,其中随机数⽤于后续的密钥协商;• server_certificates, 服务器端配置对应的证书链,⽤于⾝份验证与密钥交换;• server_hello_done,通知客户端 server_hello 信息发送结束;(3).证书校验客户端验证证书的合法性,如果验证通过才会进⾏后续通信,否则根据错误情况不同做出提⽰和操作,合法性验证包括如下:• 的可信性 trusted certificate path,⽅法如前⽂所述;• 证书是否吊销 revocation,有两类⽅式离线 CRL 与在线 OCSP,不同的客户端⾏为会不同;• 有效期 expiry date,证书是否在有效时间范围;• 域名 domain,核查证书域名是否与当前的访问域名匹配,匹配规则后续分析;(4).client_key_exchange+change_cipher_spec+encrypted_handshake_message(a) client_key_exchange,合法性验证通过之后,客户端计算产⽣随机数字 Pre-master,并⽤证书公钥加密,发送给服务器;(b) 此时客户端已经获取全部的计算协商密钥需要的信息:两个明⽂随机数 random_C 和 random_S 与⾃⼰计算产⽣的 Pre-master,计算得到协商密钥;enc_key=Fuc(random_C, random_S, Pre-Master)(c) change_cipher_spec,客户端通知服务器后续的通信都采⽤协商的通信密钥和加密算法进⾏加密通信;(d) encrypted_handshake_message,结合之前所有通信参数的 hash 值与其它相关信息⽣成⼀段数据,采⽤协商密钥 session secret 与算法进⾏加密,然后发送给服务器⽤于数据与握⼿验证;(5).change_cipher_spec+encrypted_handshake_message(a) 服务器⽤私钥解密加密的 Pre-master 数据,基于之前交换的两个明⽂随机数 random_C 和 random_S,计算得到协商密钥:enc_key=Fuc(random_C, random_S, Pre-Master);(b) 计算之前所有接收信息的 hash 值,然后解密客户端发送的 encrypted_handshake_message,验证数据和密钥正确性;(c) change_cipher_spec, 验证通过之后,服务器同样发送 change_cipher_spec 以告知客户端后续的通信都采⽤协商的密钥与算法进⾏加密通信;(d) encrypted_handshake_message, 服务器也结合所有当前的通信参数信息⽣成⼀段数据并采⽤协商密钥 session secret 与算法加密并发送到客户端;(6).握⼿结束客户端计算所有接收信息的 hash 值,并采⽤协商密钥解密 encrypted_handshake_message,验证服务器发送的数据和密钥,验证通过则握⼿完成;(7).加密通信开始使⽤协商密钥与算法进⾏加密通信。

完美解决浏览器输入http被自动跳转至https问题

完美解决浏览器输入http被自动跳转至https问题

完美解决浏览器输⼊http被⾃动跳转⾄https问题在将服务尝试着从http协议往https协议迁移成功之后,⼜出于测试调试的⽬的将服务转回到http协议,却发现在浏览器输⼊http会被⾃动跳转到https。

HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header. Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS. It also prevents HTTPS click through prompts on browsers.查阅相关资料,发现这是浏览器的HSTS(HTTP Strict Transport Security)功能引起的。

在安装配置SSL证书时,可以使⽤⼀种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS ,它会告诉浏览器只能通过HTTPS访问,⽽绝对禁⽌HTTP⽅式。

因此,只要关闭浏览器的HSTS功能就可以解决这个问题,但是只能通过特定的⽅式,⽽不是清除浏览器缓存那么简单。

Chrome浏览器1.地址栏中输⼊chrome://net-internals/#hsts。

2.在Delete domain中输⼊项⽬的域名,并Delete(删除)。

3.可以在Query domain测试是否删除成功。

HTTP协议转换成HTTPS协议

HTTP协议转换成HTTPS协议

HTTP协议转换成HTTPS协议协议名称:HTTP协议转换成HTTPS协议协议1. 背景和目的:HTTP(超文本传输协议)是一种用于在Web浏览器和Web服务器之间传输数据的协议。

然而,由于HTTP协议的不安全性,容易被黑客攻击和窃听用户的敏感信息。

为了保护用户数据的安全,HTTPS(安全超文本传输协议)应运而生。

本协议的目的是规范将现有的HTTP协议转换成更安全的HTTPS协议的过程和要求。

2. 协议内容:2.1. 服务器准备:2.1.1. 服务器必须获得有效的SSL/TLS证书,以确保HTTPS连接的安全性。

2.1.2. 服务器必须配置支持HTTPS的网络服务(如Apache、Nginx等)。

2.2. 证书验证:2.2.1. 客户端在与服务器建立连接时,会收到服务器的证书。

客户端必须验证证书的合法性,以确保服务器的身份和证书的有效性。

2.2.2. 客户端可以通过与受信任的证书颁发机构(CA)进行证书验证,或者通过验证证书中的数字签名来验证证书的有效性。

2.3. 协议转换:2.3.1. 当客户端与服务器建立连接后,客户端必须发送一个HTTP请求,请求服务器将连接转换为HTTPS协议。

2.3.2. 服务器在收到请求后,会发送一个HTTP 301或302响应,将客户端重定向到HTTPS连接。

2.3.3. 客户端收到重定向响应后,必须重新发起一个HTTPS请求,以建立安全的连接。

2.4. 安全性检查:2.4.1. 客户端和服务器之间的数据传输必须通过SSL/TLS加密。

2.4.2. 服务器必须支持强大的加密算法,如AES(高级加密标准)。

2.4.3. 服务器必须配置适当的加密套件和密钥长度,以提供足够的安全性。

2.5. 证书更新:2.5.1. 服务器必须定期更新SSL/TLS证书,以确保证书的有效性和安全性。

2.5.2. 服务器可以使用自动化工具来更新证书,如Let's Encrypt等。

2.6. 强制HTTPS:2.6.1. 服务器可以配置强制将所有HTTP请求重定向到HTTPS连接,以确保所有数据都通过安全的连接传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

she强制http跳转https页面简介https在现在网络中是公认的安全的访问方式,但是在访问的过程中很多站点是没有强制https访问的,这样会导致有些客户可以通过http访问,从而对服务器造成一些不安全因素。

下文将介绍几种强制https访问的方法。

一,wordpress中设置https强制访问。

默认登录wordpress的后台是使用http协议,这协议是明文发送的。

这可能会导致你的用户和密码被窃听。

如果使用ssl登录,这种情况则可以避免。

下面是设置方法。

1、设置wp-config.php/* That's all, stop editing! Happy blogging. */...require_once(ABSPATH . 'wp-settings.php');2、在上面的代码之前加上如下代码:define('FORCE_SSL_LOGIN', true);define('FORCE_SSL_ADMIN', true);define(‘FORCE_SSL_LOGIN’, true);#是启用登录时使用ssldefine(‘FORCE_SSL_ADMIN’, true);#后台管理也使用ssl如果担心后台使用ssl影响速度,可以不用。

但还是建议使用,因为这将有可能cookie 被劫持导致黑客伪造cookie登录后台。

wordpress只需要几步设定就可以启用强制使用HTTPS登入后端管理界面首先到wp-config.php中找到下面这段:if ( !defined(‘ABSPATH’) )define(‘ABSPATH’, dirname(__FILE__) . ‘/’);找到它以后,請在它上面加入下列此行:define(‘FORCE_SSL_LOGIN’, true);接下來请在VHOST上设定好SSL的相关设置..这里就不再叙述了以下附上nginx上如何使用vhost并且自动rewrite url跳转到https管理页面的设定值:请在rewrite rule上面加入rewrite ^.*/wp-admin(.*)https://wp.littlecho.tw/wp-admin$1 last; 即可例如下:location / {try_files $uri $uri/ /index.php;rewrite ^.*/wp-admin(.*) https://wp.littlecho.tw/wp-admin$1 last;}设定完毕后当输入http://xxxx.domain.tld/wp-admin时就会自动跳转了。

二,tomcat中的跳转配置在tomcat中设置强制https的方法有2种,下面分别介绍下这2种方法的配置:1,调整web.xml文件,将HTTP使用的server.xml文件重定向端口在记事本中打开 SGMS4\Tomcat\webapps\sgms\WEB-INF\web.xml文件,在web.xml的文件末尾的前一句添加以下内容:</servlet-mapping><error-page><error-code>404</error-code><location>/error_404.jsp</location></error-page><security-constraint><web-resource-collection><web-resource-name>Tomcat</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>2,调整server.xml文件以便重定向端口443。

这样做你需要更改server.xml文件,在记事本中打开 SGMS4\Tomcat\conf\server.xml文件,重定向443端口:<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --><!-- CoyoteConnector - do not delete this line, used for detecting the next line for port information in the GMS installer --><Connector port="80" minProcessors="5" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/>重启服务,这个时候就会实现访问HTTP时,使用HTTPS安全协议了。

三,在JSP代码的页面中的配置jsp代码:String scheme=request.getScheme();String url=request.getRequestURI();if(!"HTTPS".equalsIgnoreCase(scheme)){response.sendRedirect("https://"+url);return ;}使用的Web 站点或虚拟服务器不使用HTTP/1.1 主机标题进行名称解析三,要使用ASP 强制SSL,请执行下列步骤:1.单击开始——运行,输入Notepad,然后单击“确定”。

2.将下列代码粘贴到空白“记事本”文档中。

在文件菜单上,单击“另存为”,然后将您的Web 服务器的根目录下的以下代码另存为名为 ForceSSL.inc 的包含文件:<%If Request.ServerVariables("SERVER_PORT")=80 ThenDim strSecureURLstrSecureURL = "https://"strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME")strSecureURL = strSecureURL & Request.ServerVariables("URL")Response.Redirect strSecureURLEnd If%>3.对于需要SSL 的每个页面,请将下列代码粘贴到页面的顶部,以引用上一步中的包含文件:<%@Language="VBSCRIPT"%><!--#include virtual="/ForceSSL.inc"-->浏览每个页面后,包含文件中包含的ASP 代码会检测端口以确定是否使用了HTTP。

如果使用了HTTP,将使用HTTPS 将浏览器重定向到相同页面。

四,在php页面中设置https自动跳转http直接跳转为https,重定向一下就可以了。

用php就更简单了,添加header:<?phpheader("Location:https://");?>当访问http 时,跳https:<?php//将http转化为httpsif ($_SERVER["HTTPS"] <> "on"){$xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];header("Location: ".$xredir);}?>当访问https 时,跳http:<?php//将https转化为httpif ($_SERVER["HTTPS"] == "on"){$xredir="http://".$_SERVER["SERVER_NAME"]. $_SERVER["REQUEST_URI"];header("Location: ".$xredir);}?>在网页开头添加上面代码即可达到在访问http的时候自动跳转到https的效果了,从而确保访问方式一直都是安全的。

五,html代码配置在html内容中添加一下内容,实现跳转:<script language="JavaScript">window.location = "https:///index.php";</script><script language="JavaScript" type="text/JavaScript">function redirect(){var loc = location.href.split(':');if(loc[0]=='http'){location.href='https:'+loc[1];}}onload=redirect</script>这样在访问http的时候就会自动跳转到指定的https的地址了,从而确实HTTPS安全协议可以安全的包含您的网页通讯。

相关文档
最新文档