zoukankan      html  css  js  c++  java
  • 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证书的步骤了

  • 相关阅读:
    java-实现两种排序方法
    暑假,一遍一遍敲代码吧!
    java学习-如何定义一个函数及其简单练习
    关于函数重载的理解
    java学习中关于函数的练习
    在校大三学生,真心想学好计算机。可是,,,,没有目标,。。。。。。
    伪分布式网络爬虫框架的设计与自定义实现(一)
    网站架构成长路程之 箴言
    使用asp.net mvc + entityframework + sqlServer 搭建一个简单的code first项目
    使用visualStudio2017创建一个简单的控制台程序
  • 原文地址:https://www.cnblogs.com/hjieone/p/12531121.html
Copyright © 2011-2022 走看看