阿里云ssl证书https访问部署for nginx详解教程
本文源链接地址:https:www.93bok.com
前言
HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
HTTPS和HTTP的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:
<pre class="bash">```
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTPS部署for nginx
1. 申请免费证书(此过程省略)
2. 下载下来之后阿里云上边其实也有安装说明
3. 在nginx的安装目录下创建cert文件夹,并把下载的证书上传到该目录下(我这里是/a01/apps/nginx/cert/)
4. 修改网站的conf配置文件
<pre class="bash">```
vim /etc/nginx/conf.d/ziyi.conf
- -
<pre class="bash">```
server {
listen 80;
listen 443;
server_name nongziyi.xin www.nongziyi.xin;
if ($host = 'nongziyi.xin') {
rewrite ^/(.*)$https://www.nongziyi.xin/$1 permanent;
}
if ($server_port = 80) {
return 301 https://$host$request_uri;
}
ssl on;
ssl_certificate /a01/apps/nginx/cert/1525286661777.pem;
ssl_certificate_key /a01/apps/nginx/cert/1525286661777.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;
......
......
- -
5. 重启nginx
<pre class="bash">```
systemctl restart nginx
6. 开启防火墙443端口
<pre class="bash">```
firewall-cmd --add-port=443/tcp --permanent
systemctl restart firewalld