美文网首页
openssl生成证书并设置本地 Nginx 的 HTTPS(证

openssl生成证书并设置本地 Nginx 的 HTTPS(证

作者: milletmi | 来源:发表于2018-05-12 20:44 被阅读0次

    创建密钥

    首先,进入 nginx 配置目录,创建 openssl 配置文件 req.conf,其中的 CN, DNS.1, DNS.2 等需要替换为自己的域名:

    distinguished_name = req_distinguished_name
    x509_extensions = v3_req
    prompt = no
    [req_distinguished_name]
    C = US
    ST = VA
    L = SomeCity
    O = MyCompany
    OU = MyDivision
    CN = www.company.com
    [v3_req]
    keyUsage = keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = www.company.net
    DNS.2 = company.com
    DNS.3 = company.net
    

    接着,执行如下命令,创建证书:

    openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req'
    

    配置nginx

    server {
        listen 443 ssl;
        server_name www.example.com;
        ssl_certificate cert.pem;
        ssl_certificate_key cert.pem;
        location / {
            root /Users/example/hello/world;
            index index.html index.htm;
        }
    
    

    服务器证书(ssl_certificate)是一个公开文件,每个请求连接的客户端都会收到一份。私有密钥(ssl_certificate_key)是加密单元,需要存储在保密的地方,但要确保 nginx 主线程可访问。私有密钥一般和证书存储到同一位置。

    cert.pem 就是上一个步骤产生的证书和密钥,在一个文件中。

    配置浏览器

    打开 Chrome 的开发者工具下的【security】选项卡,查看当前的证书,然后下载下来,双击添加到操作系统中,修改为始终信任就可以了。

    如果还继续显示是不安全,像下图这样


    image.png

    可以参照以下解决办法
    Open developer tools
    Goto the Application tab
    Clear storage
    Close and re-open tab

    详细问题参照 “Active content with certificate errors”

    相关文章

      网友评论

          本文标题:openssl生成证书并设置本地 Nginx 的 HTTPS(证

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