http和https理解
http
:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP)
,用于从 WWW
服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
https
:是以安全为目标的http通道,简单讲是 http
的安全版,https的安全基础是 ssl
证书,因此加密的详细内容就需要ssl证书。https
协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
http和https区别
http
协议传输的数据都是未加密的,也就是明文的,因此使用 http
协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了 ssl(Secure Sockets Layer)
协议用于对http协议传输的数据进行加密,从而就诞生了https
。
简单来说,https
协议是由 ssl+http
协议构建的可进行加密传输、身份认证的网络协议,要比 http
协议安全。
ssl证书
ssl
证书指的是在ssl
通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,我们通常说的 ssl
证书主要指服务器 ssl
证书。ssl
证书由受信任的数字证书颁发机构 CA
(如沃通WoSign),在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。分为扩展验证型 EV ssl
证书、组织验证型 OV ssl
证书、和域名验证型 DV ssl
证书。
阿里云免费ssl证书安装过程
下载证书
1、登录阿里云控制台,找到域名,如下,域名下有个选项【SSL证书】:
2、点击【SSL证书】,进入:
这就完成了ssl证书的下单,过了几分钟,就会签发。
3、下载证书:
进入下载页面如下,因为我是单服务测试,我就使用Tomcat
版本的,你也可以选择nginx
都可以:
下载后得到的文件如下:
Tomcat 安装证书
Tomcat支持`JKS
格式证书,从 Tomcat7
开始也支持 PFX
格式证书,两种证书格式任选其一,这里以 PFX
格式证书为例。
有一点需要注意的是,阿里云的服务器,只支持端口443
,所以待会我们配置<Connector port="443 />"
节点时,这里填端口443。
安装的方法,阿里云已经提供了,我们只需要按照文档提示一步一步进行就OK了,下面来实操一把。
- 在你的阿里云中 安装tomcat。
- 在
%tomcat%/conf
目录下新建cert
目录,然后将文件1531945071856.pfx
、pfx-password.txt
文件拷贝到
然后到%tomcat%/conf/server.xml
中配置一把,以下三种配置任选一种都可以:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/local/tomcat/apache-tomcat-7.0.90/conf/cert/1531945071856.pfx"
keystoreType="PKCS12"
keystorePass="1531945071856"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
<!– <Connector port=“443”
protocol=“org.apache.coyote.http11.Http11Protocol”
SSLEnabled=“true”
scheme=“https”
secure=“true”
keystoreFile="/usr/local/tomcat/apache-tomcat-7.0.90/conf/cert/1531945071856.pfx"
keystoreType=“PKCS12”
keystorePass=“1531945071856”
clientAuth=“false”
ciphers=“TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”
SSLProtocol=“TLSv1+TLSv1.1+TLSv1.2”
SSLCipherSuite=“ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4”/>–>
<!–
<Connector port=“443”
protocol=“org.apache.coyote.http11.Http11Protocol”
keystoreFile="/usr/local/tomcat/apache-tomcat-7.0.90/conf/cert/1531945071856.pfx"
keystoreType=“PKCS12”
keystorePass=“1531945071856”
maxThreads=“150” SSLEnabled=“true” scheme=“https” secure=“true”
clientAuth=“false” sslProtocol=“TLS” />
–>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
保存退出。重启tomcat
即可。
结果如下:
springboot配置安全证书
如果您是springboot工程,可以使用简单的配置,就可以实现https
。首先,
PFX 格式证书 1531945071856.pfx
(这是我使用的证书)放在resources
目录下。其配置如下:
server:
port: 443
tomcat:
uri-encoding: utf-8
ssl:
key-store: classpath:1531945071856.pfx
key-store-password: yourpassword
keyStoreType: PKCS12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
http和https理解
http
:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP)
,用于从 WWW
服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
https
:是以安全为目标的http通道,简单讲是 http
的安全版,https的安全基础是 ssl
证书,因此加密的详细内容就需要ssl证书。https
协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
http和https区别
http
协议传输的数据都是未加密的,也就是明文的,因此使用 http
协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了 ssl(Secure Sockets Layer)
协议用于对http协议传输的数据进行加密,从而就诞生了https
。
简单来说,https
协议是由 ssl+http
协议构建的可进行加密传输、身份认证的网络协议,要比 http
协议安全。
ssl证书
ssl
证书指的是在ssl
通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,我们通常说的 ssl
证书主要指服务器 ssl
证书。ssl
证书由受信任的数字证书颁发机构 CA
(如沃通WoSign),在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。分为扩展验证型 EV ssl
证书、组织验证型 OV ssl
证书、和域名验证型 DV ssl
证书。
阿里云免费ssl证书安装过程
下载证书
1、登录阿里云控制台,找到域名,如下,域名下有个选项【SSL证书】:
2、点击【SSL证书】,进入:
这就完成了ssl证书的下单,过了几分钟,就会签发。
3、下载证书:
进入下载页面如下,因为我是单服务测试,我就使用Tomcat
版本的,你也可以选择nginx
都可以:
下载后得到的文件如下:
Tomcat 安装证书
Tomcat支持`JKS
格式证书,从 Tomcat7
开始也支持 PFX
格式证书,两种证书格式任选其一,这里以 PFX
格式证书为例。
有一点需要注意的是,阿里云的服务器,只支持端口443
,所以待会我们配置<Connector port="443 />"
节点时,这里填端口443。
安装的方法,阿里云已经提供了,我们只需要按照文档提示一步一步进行就OK了,下面来实操一把。
- 在你的阿里云中 安装tomcat。
- 在
%tomcat%/conf
目录下新建cert
目录,然后将文件1531945071856.pfx
、pfx-password.txt
文件拷贝到
然后到%tomcat%/conf/server.xml
中配置一把,以下三种配置任选一种都可以:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/local/tomcat/apache-tomcat-7.0.90/conf/cert/1531945071856.pfx"
keystoreType="PKCS12"
keystorePass="1531945071856"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>