Nginx 配置 ssl 证书

在部署线下测试环境时浏览器会自动将http替换成https,又因为测试环境没有证书经常会导致跳转错误,所以自己配置一个ssl证书就可以避免这个问题。
下面记录我在MacOS下自己配置ssl证书的过程


制作证书

  • 先进入到nginx.conf所在目录,我这里是
    cd /usr/local/etc/nginx/
    
  • 创建服务器私钥(key)
    openssl genrsa -out server.key 1024
    
  • 然后设置一个token,这里会问一大堆问题,第一填’CN’然后后面不用填路回车就行
    openssl req -new -key server.key -out server.csr
    
  • 去除密码保护,就不用每次都输密码了
    $ cp server.key server.key.org
    $ openssl rsa -in server.key.org -out server.key
    
  • 最后生成
    openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
    
  • server.keyserver.crt文件移动到nginx.conf文件所在目录

    可以用别的位置,但有可能出现权限和绝对路径访问等各种问题,笔主就是因为这个踩了好多坑,所以推荐放在这个位置

配置Nginx

  • 打开nginx.conf修改如下配置

    如果单独配置了server(在nginx.conf使用了include引用其他的配置文件)则需要在对应的server写配置。

    server {                                                                                                                                                                                                                                                               
        listen 80 ;
        listen 443 ssl;
        server_name localhost;
    
        ssl_certificate     server.crt;
        ssl_certificate_key server.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
       
        ```
    
  • 重启ngixn应用修改

    sudo nginx -s reload
    
原文地址:https://www.cnblogs.com/YooHoeh/p/12098888.html