Https 协议
前言
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
HTTPS和HTTP的区别
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
在IIS中安装SSL
一、在IIS中生成Certificate Signing Request (CSR)
个人理解:生成CSR就是生成“私钥/公钥对”之后从中提取出公钥。
1. 打开IIS Manager,在根节点中选择Server Certificates(服务器证书),点击右侧的Create Certificate Request...,然后填写相应的Distinguished Name Properties(见下图)。

Common name中填写域名(如果用于所有二级域名,填*.域名),Organization中公司名称,Organizational unit填写部门名称。
2. 在Cryptographic service provider中选择Microsoft RSA SChannel Cryptographic Provider,在Bit length中选择2048。
3. 选择生成文件的保存路径,完成之后,在生成的txt文件中就会看到以“-----BEGIN NEW CERTIFICATE REQUEST-----”开头的CSR内容。这就是接下来在CA机构中生成CA证书时要用到的CSR。
二、从CA机构购买并创建CA证书
这里以GoDaddy为例。
1. 打开godaddy.com网站,通过菜单进入Products -> SSL&Security -> SSL Certificates,选择Protect All Subdomains("Wildcard"), 在Pick your plan type中,选择Standard(Validates domain ownership),然后完成购买。
2. 进入My Account -> SSL CERTIFICATES,创建证书(Certificate),创建时将之前得到的CSR内容复制到“CSR文本框”中。
3. 接入来进入GoDaddy的审批流程,在审批过程中需要验证域名的所有者(dns填加记录或上传html文件至网站目录),验证成功后很快就会生成CA证书。
4. 下载CA证书文件至生成CSR的服务器上。
三、在IIS中安装CA证书
1. 回到第一步中生成CSR的服务器上,进入IIS的Server Certificates(服务器证书),点击Compelete Certificate Request,进入Specify Certificate Authority Response窗口填写相应内容(见下图)。

File name填写第二步中从CA机构下载的证书文件路径(.crt),Friendly name填写第一步中创建CSR时填写的Common name(*.域名),Certificate store选择Web Hosting,然后点击OK。
2. 如果用的是IIS 8.0,在创建过程中出现“Failed to remove the certificate”的提示,不用理会。
3. 创建成功之后,会在Server Certificates中看到这个证书。
四、在IIS站点中配置https
1. 在生成CSR的同一台服务器上配置https
1.1 选择相应的站点,右键选择Edit Bindings,点击Add。
1.2 在Type中选择https,在SSL certificate的下拉菜单中会看到之前安装的CA证书(见下图)。

1.3 选择CA证书之后就完成了https的配置。
2. 在另外的服务器上配置https
2.1 先进入之前已经安装CA证书的服务器,在Server Certificates中导出证书,并将证书文件(.pfx)复制到需要配置https的服务器。
2.2 进入需要配置https的服务器,在Server Certificates中导入证书,导入成功之后,按照之前的1.1-1.3的步骤配置https。
五、其他相关配置
1. 在配置https的服务器的Windows防火墙上允许443的端口的访问。
2. 如果需要将所有http的请求重定向至https,可在IIS的URL Rewrite Module中添加如下的规则:


web.config中对应的配置:
<rewrite>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
参考:百度百科
http://www.cnblogs.com/dudu/p/3457246.html
Https 协议的更多相关文章
- 网站使用https协议
了解https HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层.HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为443. SSL ...
- 服务器开启https协议
开启Tomcat https服务 发布企业级应用的时候遇到一个问题,就是IOS7.1之后app的下载地址URL必须是https开头的协议,所以服务器必须支持https协议. 实验环境:Mac OSX ...
- 【转】Tomcat启用HTTPS协议配置过程
转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/530 ...
- IIS同时实现网站部分使用https协议访问另一部分http访问
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...
- HTTPS 协议和原理
1 HTTPS 协议概述 HTTPS 可以认为是 HTTP + TLS.HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的. TLS 是传输层加密协议,它的前身 ...
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- HTTPS协议说明
HTTPS协议说明 基本现在最安全的网络连接就是使用https了,http协议有几个不安全的地方: 传输信息是明文的. -- http的传输信息是明文的,基本网络劫持下就束手就擒了. 不能防止篡改. ...
- 下载https协议需要的cer证书
一:https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...
- 大型网站的 HTTPS 实践(1):HTTPS 协议和原理
转自:http://op.baidu.com/2015/04/https-s01a01/ 1 前言 百度已经于近日上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS.本文重 ...
- https协议了解,以及相关协议的解析
HTTPS简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版. ...
随机推荐
- Maven中<dependencies>节点和<dependencyManagement>节点的区别 转
以前一直没有在意,今天建立maven工程的时候在<dependencyManagement>节点下加入了junit依赖,结果在dependency Graph中没有发现junit的依赖关系 ...
- Java的内存分配策略
简单来说,对象内存分配主要是在堆中分配.但是分配的规则并不是固定的,取决于使用的收集器组合以及JVM内存相关参数的设定 以下介绍几条基本规则(使用的ParNew+Serial Old收集器组合): 一 ...
- JSP学习——语法
JSP模版元素 JSP表达式 JSP脚本片断 JSP注释JSP指令JSP标签 JSP内置对象如何查找JSP页面中的错误 1:JSP模版元素 : JSP页面中的HTML内容称之为JSP模版元素. JSP ...
- sgu-508 Black-white balls 概率-贝叶斯公式
题意:有n个球,其中有0.1.2...n个黑球的概率是相等的,现在从中取出L个球,p个黑球q个白球.现在问猜一个黑球的区间,使得落在这个区间的概率大于给定的一个数值. 详见代码: #include & ...
- 64位Eclipse运行时提示“Failed to load the JNI shared library \Java\jre6\bin\client\jvm.dll”的一个解决方案
系统安装的32位JREE,64位eclipse无法识别,解决方案:下载安装64位jdk即可.
- php使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性 ...
- Python学习(15)文件/IO
目录 Python 文件I/O 打印到屏幕 读取键盘输入 打开和关闭文件 File对象属性 文件定位 重命名和删除文件 Python的目录 Python 文件I/O 本章只讲述所有基本的的I/O函数, ...
- nyoj 28 大数阶乘
题目链接:nyoj 28 就是个简单的高精度,只是一开始我打表超内存了,然后用了各种技巧硬是把内存缩到了题目要求以下(5w+kb),感觉挺爽的,代码如下: #include<cstdio> ...
- js 高程(三)学习感言(随时更新)
1.读第二遍了,感觉第一遍白读了. 2.现在还处于初学...
- Java troubleshooting guide
http://www.oracle.com/technetwork/java/javase/toc-135973.html --不同的 OutOfMemoryError/内存溢出,以及相关的解决