• 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 3650 -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节点里加入以下配置就可以了。

    ssl on;
    ssl_certificate /home/ssl.crt;
    ssl_certificate_key /home/ssl.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;

    然后重启nginx就大功告成了

    server{
         listen 443;    
        ssl on;    
        ssl_certificate /usr/local/webserver/nginx/conf/vhost/ssl/server.crt;                    
        ssl_certificate_key /usr/local/webserver/nginx/conf/vhost/ssl/server.key;
    }
    

    端口一定是443端口

    server {
        listen 80;
        server_name www.cnblogs.com;
        rewrite ^(.*)$ https://$host$1 permanent;
    }
    

    【注意】

    1.如果不能访问,请检查防火墙配置

    2.如果不能访问,请检查域名解析(A解析,cdn加速不支持https)

  • 相关阅读:
    统计nginx进程占用的物理内存
    使用网络用户命令行工具的/passwordreq:yes
    MSSQL 日期查询 包含NULL值
    错误信息:"OraOLEDB.Oracle" 返回了消息 "ORA-12154: TNS: 无法解析指定的连接标识符
    SQL Server连接Oracle FAIL
    为SSRS配置SMTP服务器身份验证
    约束
    VS2012
    Reporting services
    MSSQL grant权限
  • 原文地址:https://www.cnblogs.com/jiathis/p/10106803.html
Copyright © 2020-2023  润新知