linux 系统自签免费ssl证书和nginx配置

首先执行如下命令生成一个key

  openssl genrsa -des3 -out ssl.key 1024

  然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。

  由于生成时候必须输入密码。你可以输入后 再删掉。

  mv ssl.key xxx.key

  openssl rsa -in xxx.key -out ssl.key

   rm xxx.key

   然后根据这个key文件生成证书请求文件

   openssl req -new -key ssl.key -out ssl.csr

   以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)

    最后根据这2个文件生成crt证书文件

   openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

    这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

    如果需要用pfx 可以用以下命令生成

    openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx

    在需要使用证书的nginx配置文件的新增一个server节点,里加入以下配置就可以了。

server
    {
        listen 443;
        server_name test.com ;

        ssl on;
        ssl_certificate /root/ssl.crt;
        ssl_certificate_key /root/ssl.key;

        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/test.com;

        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /.
        {
            deny all;
        }

        access_log  /home/wwwlogs/test.com.log;
    }

  

原文地址:https://www.cnblogs.com/lauhp/p/9449179.html