使用openssl创建一个自签名https证书,并配置到nginx里面

时间:2021-12-07 08:34:54

公司内网也有这个需求,就简单实现一下。

参考的都是网上的方案,一次过。

1,使用openssl建立服务器私钥(需要输入密码,请记住这个密码)生成RSA密钥

>openssl genrsa -des3 -out server.key 1024

2,生成一个证书请求
>openssl req -new -key server.key -out server.csr

这里需要上一步输入的密码。
#需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。

3,使用下面命令可以删除私钥中的密码,不然每次reload nginx配置时候都要你验证这个PAM密码的。
>openssl rsa -in server.key -out server.key

4,以下命令生成自签名证书

>openssl x509 -req -days 3650 -sha256-in server.csr -signkey server.key -out server.crt

5,新建一个目录/etc/nginx/key/,然后将server.crt和server.key拷贝到/etc/nginx/key/

6,将nginx.conf的配置里,加上证书和相关的配置。

server {
        listen 8443;
        server_name _;
        root         /usr/share/nginx/html;

        ssl on;
        ssl_certificate /etc/nginx/key/server.crt;
        ssl_certificate_key /etc/nginx/key/server.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 / {
        }
    }

  

7,样子就出来了,尽管是https,但由于是自签名,依然会显示不安全的。

使用openssl创建一个自签名https证书,并配置到nginx里面