Skip to content

nginx配置https证书

开启SSL功能

bash
./configure --with-http_ssl_module

生成证书

1. 创建一个私钥

bash
openssl genrsa -des3 -out server.key 2048
#输入密码

2. 生成 CSR Common Name 要输入域名

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

3. 删除私钥中的密码, 有利于自动化部署

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

4. bash

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

5. 生成 PEM 格式的证书

bash
openssl x509 -in server.crt -out server.pem -outform PEM

nginxSSL配置

text
  # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  localhost;
        # pem文件
        ssl_certificate      /usr/local/nginx/cert/server.pem;
        # key文件
        ssl_certificate_key  /usr/local/nginx/cert/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

此时就可以通过https访问了,不过因为是自签名的证书浏览器会有警告