• Nginx配置ssl,实现https访问


    大家都知道现在如果你访问一个网站,如果是http开头的访问,状态栏地址会显示不安全,如下图

     但如果是https访问,会显示安全,如下图

     原因:

    HTTP(超文本传输协议)被用于在Web浏览器和网站服务器之间,以明文方式传递信息,不提供任何方式的数据加密,因此使用HTTP协议传输隐私信息(如:银行卡号、密码等支付信息)非常不安全。

    为了解决这一安全缺陷,网景公司设计了SSL(Secure Sockets Layer)协议,在HTTP的基础上加入了SSL(Secure Sockets Layer)协议,SSL依靠SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。从而诞生了HTTPS(安全套接字层超文本传输协议)。

    简单来说,HTTPS协议="SSL+HTTP协议"构建的可进行加密传输、身份认证的网络协议,是HTTP的安全版。

    解决办法:

    Nginx部署ssl证书

    1.首先我们可以去申请一份ssl证书,我是在西部数码申请的,花了一块大洋,在疫情期间的我省吃俭用才凑得一块钱!!

    立即申请,一块大洋,慎重考虑

     

     按需申请

     好了,其实按西部数码的流程来就行了,还要在服务器上放一个txt文件验证,当然西部数码是这样,其他的不知道,得到ssl证书后下载解压,如下图会得到两个这个文件

     2.我把它俩兄弟放在了 /usr/local/nginx/conf/ 目录下,也就是nginx默认安装路径下

     3.检查nginx是否安装了ssl模块,进入到 /usr/local/nginx/sbin/ 输入 ./nginx -V 注意 大写的V还有那个小数点,如果有如图红框内的东西,说明安装了,否则没有安装ssl模块,怎么装下面有教程

     4.编辑/usr/local/nginx/conf/下的nginx.conf文件,添加如下代码,路径改为你存放证书的路径,监听端口也需要改成443

         ssl_certificate        /usr/local/nginx/conf/www.orscloud.cn.crt;          #需将_www.domain.com.cer  中的内容复制到这个文件头部,中间不要有空行
    
            ssl_certificate_key /usr/local/nginx/conf/www.orscloud.cn.key;         #证书密钥文件
    
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    
            ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;

    改好后如下图

     5.改好后重启nginx 命令 ./nginx -s reload ,现在就可以使用https访问啦

    Nginx安装SSL模块教程

    问题:如果没安装该模块,重启nginx会报错:nginx: [emerg] unknown directive "ssl_certificate" xxxxxxxx

    1.找到你以前安装nginx前解压nginx的目录,如果删了 从新下载,记住不是安装后/usr/local/nginx的目录 进入目录后你会看到有个configure,对就是它!

     2.输入如下命令添加这个模块

    ./configure --with-http_ssl_module

    3.输入如下命令编译,记住千万不要安装(make install),否则会覆盖之前的nginx配置

    make

    4.然后你会看到有个objs文件夹,文件夹内有个nginx文件,复制到/usr/local/nginx/sbin文件夹下,复制前先备份

    备份

    cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

    拷贝

    cp objs/nginx /usr/local/nginx/sbin/nginx

    5.ssl模块安装完了,可以继续Nginx部署ssl证书的步骤了

  • 相关阅读:
    虚函数
    class与struct的区别
    HTTP是什么连接
    长连接与短连接
    多线程的主要优点
    overload、override、overwrite的介绍
    常用的Linux命令
    IO模型——IO多路复用机制
    栈区与堆区的区别
    软链接和硬链接到底有啥区别
  • 原文地址:https://www.cnblogs.com/hjieone/p/12531121.html
Copyright © 2020-2023  润新知