Linux服务器搭建HTTPS

Linux+Nginx+SSL证书=Https


1.在配置https之前,首先要向证书颁发机构申请SSL证书(阿里云,腾讯云);证书根据颁发厂商和证书类型功能和价格不一样;

2.在Linux生成私钥和csr文件; 

3.切换到某个目录生产私钥: openssl genrsa -out server.key 2048

4.将私钥生产csr文件: openssl req -new -key server.key -out certreq.csr;Common Name:对应的域名;

MyAnswer博客

5.将csr证书提交到第三方申请服务器证书,申请成功获取证书,将server.key和server.pem拷贝到中待使用;

6.申请成功后下载web服务器相关证书;

MyAnswer博客

7.Nginx配置https

server {
        listen       80;
        listen       443 ssl; #开启https
        server_name  blog.5858xy.xyz;
        #不是https端口访问重定向到https
        if ($server_port !~ 443){
           rewrite ^(/.*)$ https://$host$1 permanent;
        }
        ssl_certificate      /www/https/blog.pem; #证书路径
        ssl_certificate_key  /www/https/server.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on; 
        location / {
            root   /www/blog/thinkphp;
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
             rewrite ^/index.php(.*)$ /index.php?s=$1 last;
             rewrite ^(.*)$ /index.php?s=$1 last; 
             break;
        }
 }

总结:HTTP和HTTPS区别:

      1 . HTTPS需要到ca申请证书; HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的ssl加密传输协议;

      2.  HTTP和HTTPS使用完全不同的连接方式,使用的端口也不一样,前者使用80,后者使用443端口;  

      3.  HTTP的连接很简单,是无状态的; HTTPS是SSL+HTTP构建的加密协议,要比HTTP安全;

MyAnswer博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论