美文网首页
Nginx挂载ssl证书开启HTTPS访问网站

Nginx挂载ssl证书开启HTTPS访问网站

作者: wiken_he | 来源:发表于2020-03-19 00:38 被阅读0次

    前言

    不知小伙伴们在浏览网站时是否有注意到,打开某些网站后,浏览器会在前面加上大大的“不安全”标志,像这样(本文用的是chrome浏览器,其他浏览器中显示的样式可能会有些许不同):


    不安全的http

    这样既不安全,也不美观,强迫症简直无法忍受。既然这样,那我们为何不给自己的网站开启更美观(事实上也更安全)的https标志呢,说多无用,让我们一起来动手吧!


    前期准备

    1. 一个http网站,已经用Nginx做了http负载并且可以正常访问的网站

    2. ssl证书,网上有很多地方可以申请免费的ssl证书,如阿里云。申请到证书后我们下载证书的 (.key和.pem)两个文件备用


    操作步骤

    • 把我们上面准备好的两个证书文件拷贝到服务器的某个目录,可以自己创建一个,这个目录和证书文件是一直不能删掉的
    • 修改网站对应的Nginx配置文件
      如:/etc/nginx/nginx.conf (自己找到自己网站对应的配置文件,然后按以下说明进行修改即可)
    # 添加https server
    server {
        listen 443 ssl;
        # 下面的www.example.com替换成你自己网站的域名(注意这个域名一定要跟ssl证书的域名一致)
        server_name www.example.com;
        index index.php index.html index.htm default.php default.htm default.html;
    
        #SSL-START 这一段是ssl证书的配置
        ssl_certificate   /etc/nginx/cert/www.example.com.pem; # 这个目录需要替换成你自己证书的存放目录
        ssl_certificate_key  /etc/nginx/cert/www.example.com.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;
        #SSL-END SSL相关配置
    
        #让http请求重定向到https请求
        error_page 497  https://$host$uri?$args;
    
        #下面这些配置跟原本http的server里面的一样就可以了
        location / {
        }
    
    }
    
    • 保存配置文件,重启Nginx服务,然后你就可以用 https:// 来访问你自己的网站了

    • 如果你想别人在用http协议访问时,也默认跳转到https协议,可以在修改下配置文件

    #把原来http的server改成下面这样
    #下面www.example.com代表你自己网站的域名
    server {
        listen 80 ;
        server_name www.example.com;
        rewrite ^(.*)$  https://www.example.com$1 permanent;
    }
    
    • 保存配置文件,重启Nginx服务。现在,即使在打开网页时,输入的是http://xxx ,也会自动跳转到https://xxx

    总结

    现在,浏览器不会再给你的网站加上大大的不安全标志了,而换成了一把一看就让人很放心的小锁!


    image

    原文地址:https://www.hehuapei.com/nginx-ssl/index.html

    相关文章

      网友评论

          本文标题:Nginx挂载ssl证书开启HTTPS访问网站

          本文链接:https://www.haomeiwen.com/subject/idohyhtx.html