美文网首页
如何给网站配置SSL证书

如何给网站配置SSL证书

作者: bioinfo2011 | 来源:发表于2018-11-26 01:09 被阅读0次

    配置SSL使得Nginx支持HTTPS协议(开发环境)

    很多情况下,项目的前端页面可能已经上线(已发布),并且通过HTTPS协议来访问页面(一般情况下公司不会在项目中混合使用HTTP和HTTPS协议,即当页面是基于HTTPS协议进行请求的,那么对应页面中的静态资源也必须通过HTTPS协议来请求)。此时前面的Nginx配置已经不能满足当前的代理需求(直接加HTTPS方式请求本地静态资源直接报404),因此我们需要让本地的Nginx也支持HTTPS协议。下面我们一步一步的来完成Nginx的SSL配置。

    一、生成私钥(server.key)及crt证书(server.crt)

    首先需要创建一个目录来存放SSL证书相关文件

    $ cd /etc/nginx$ sudo mkdir ssl$ cd ssl

    1. 生成server.key

    $ openssl genrsa -des3 -out server.key 2048

    以上命令是基于des3算法生成的rsa私钥,在生成私钥时必须输入至少4位的密码。

    2. 生成无密码的server.key

    $ openssl rsa -in server.key -out server.key

    3. 生成CA的crt

    $ openssl req -new -x509 -key server.key -out ca.crt -days 3650

    4. 基于ca.crt生成csr

    $ openssl req -new -key server.key -out server.csr

    命令的执行过程中依次输入国家、省份、城市、公司、部门及邮箱等信息。

    5. 生成crt(已认证)

    $ openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

    二、 更改配置文件

    1.  更改虚拟主机配置文件

    vi /usr/local/nginx/conf/vhost/www.abc.com.conf

    更改成如下面所示

    server

    {

    listen 80;

    listen 443 ssl;

    ssl on;

    ssl_certificate /root/ssl.crt;

    ssl_certificate_key /root/ssl.key;

    ssl_session_cache shared:SSL:10m;

    ssl_session_timeout  10m;

    server_name www.abc.com;

    add_header Strict-Transport-Security "max-age=31536000";

    }

    保持文件,退出

    二、 更改配置文件

    重启nginx

    $ sudo nginx -s reload

    或者 lnmp nginx restart

    参考自     https://zhuanlan.zhihu.com/p/31344617

    相关文章

      网友评论

          本文标题:如何给网站配置SSL证书

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