• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)

    自行颁发不受浏览器信任的SSL证书

    手动颁发

    xshell登录服务器,使用openssl生成RSA密钥及证书

    # 生成一个RSA密钥 
    $ openssl genrsa -des3 -out tfjybj.key 1024
    
    # 拷贝一个不需要输入密码的密钥文件
    $ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key
    
    # 生成一个证书请求
    $ openssl req -new -key tfjybj.key -out tfjybj.csr
    
    

     这里会提示输入省份、城市、域名等信息,email得是域名后缀。这样就生成一个csr文件,提交给ssl提供商的时候就是这个csr文件。

     (这里由于我没有截图,所以从网上找了一个图片,需要替换的是下面的33iq,换成tfjybj)

    中间输入密码的时候,没有什么显示,不过就那么输入就好

    # 自己签发证书
    $ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt

    把生成的证书放到nginx配置文件同级目录;

    nginx配置

    编辑nginx配置文件 nginx.conf,加https协议

    server {
      server_name tfjybj.com;
      listen 443;
      ssl on;
      ssl_certificate /usr/local/nginx/conf/tfjybj.crt;
      ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;
      # 若ssl_certificate_key使用tfjybj.key,则每次启动Nginx服务器都要求输入key的密码。
      (开始我不知道,纳闷为啥启动nginx、关闭nginx都要输入密码)
    }
    

    重启Nginx

    自己颁发的SSL证书能够实现加密传输功能,但浏览器并不信任,会给出提示:

    通过第三方颁发证书–阿里云

    颁发证书

    登录阿里云管理控制台,【云盾】菜单选择【证书服务】,选择购买证书;

    我弄得免费版的做的测试,申请之后,经过一两天的审核,然后就可以下载证书了。下载解压后是两个文件,一个key结尾,私钥,一个是pem结尾,是公钥;

    配置nginx

    文件说明:

    证书文件”申请的证书名字.pem”,包含两段内容,请不要删除任何一段内容。

    如果是证书系统创建的CSR,还包含:证书私钥文件”申请的证书名字.key”。

    ( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为”申请的证书名字.key”;

    ( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:

    # HTTPS server
    # #server {
    # listen 443;
    # server_name localhost;
    # ssl on;
    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;
    # ssl_session_timeout 5m;
    # ssl_protocols SSLv2 SSLv3 TLSv1;
    # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    # ssl_prefer_server_ciphers on;
    # location / {
    #
    #
    #}
    #}

    ( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

    server { 
    listen 443; 
    server_name localhost; 
    ssl on; 
    root html; 
    index index.html index.htm; 
    ssl_certificate cert/申请的证书名字.pem; 
    ssl_certificate_key cert/申请的证书名字.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; 
    location / { 
    root html; 
    index index.html index.htm; 
    } 
    } 
    

    保存退出。

    ( 4 )重启 Nginx。

    ( 5 ) 通过 https 方式访问您的站点

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:详解nginx实现https网站设置
    下一篇:Ubuntu16.04 ext4格式硬盘挂载普通用户权限控制的操作方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Nginx配置SSL证书部署HTTPS网站的方法(颁发证书) Nginx,配置,SSL,证书,部署,