网站如何免费开通https协议?

什么是https?

https, 全称Hyper Text Transfer Protocol Secure,相比http,多了一个secure,这一个secure是怎么来的呢?这是由TLS(SSL)提供的,这个又是什么呢?估计你也不想知道。大概就是一个叫openSSL的library提供的。https和http都属于application layer,基于TCP(以及UDP)协议,但是又完全不一样。TCP用的port是80, https用的是443(值得一提的是,google发明了一个新的协议,叫QUIC,并不基于TCP,用的port也是443, 同样是用来给https的。)总体来说,https和http类似,但是比http安全。

为什么要开通https?

HTTP 三大风险:
  1. 窃听风险(eavesdropping):第三方可以获知通信内容。
  2. 篡改风险(tampering):第三方可以修改通信内容。
  3. 冒充风险(pretending):第三方可以冒充他人身份参与通信。
HTTPS 解决方案
  1. 所有信息都是加密传播,第三方无法窃听。
  2. 具有校验机制,一旦被篡改,通信双方会立刻发现。
  3. 配备身份证书,防止身份被冒充。

如何开通https?

申请证书

FreeSSL.org - 一个申请免费证书的网站

FreeSSL教程

上传证书

将申请得到的证书以及私钥文件放到你的服务器/ssl/目录下

打开你的nginx配置文件nginx.conf,一般在/etc/nginx/nginx.conf

server {
      listen       443 ssl http2 default_server;
      listen       [::]:443 ssl http2 default_server;
      server_name  _;
      root         /usr/share/nginx/html;

      # .pem证书的位置
      ssl_certificate "/ssl/full_chain.pem";
      # 私钥文件的位置
      ssl_certificate_key "/ssl/private.key";
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout  10m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;

      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;

      # 配置的是你本地web端口号
      location / {
         proxy_pass   http://localhost:7777/;
      }
      error_page 404 /404.html;
          location = /40x.html {
      }

      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
  }

重启你的nginx

nginx -s reload

此时你的网站https就算是开通好了。你可以尝试开用https的形式去打开您的网站

http强制https形式访问

这里我们借鉴的百度baidu.com自动跳转www.baidu.com的技术来实现的:

1.首先将nginx的80端口配置到一个默认的html页面

server {
      listen       80;
      server_name  www.5se7en.com;

      location / {
          root /www/;
      }
  }

2.在服务器新建一个文件夹

mkdir /www

3.进入www目录

cd /www

4.创建一个index.html文件

vi index.html

5.将下面代码复制到index.html中

    
      # index.html
<html>
<meta http-equiv="refresh" content="0;url=https://www.5se7en.com/">
</html>

6.重启你的nginx

nginx -s reload

7.去检验您的网站吧