Can
Be Better

如何创建自签名的 SSL 证书

生成自签名SSL证书

openssl genrsa -out private.key 1024

openssl req -new  -key private.key -out cert.csr

openssl req -new -x509 -key private.key -out certificate.crt -days 365

Nginx下ssl配置方法

检测nginx是否支持SSL:
$ nginx -V
如果有显示-with-http_ssl_module表示已编译openssl,支持安装ssl.
如果没有,请重新编译安装nginx

 

$ ./ configure --with-http_ssl_module --with-http_stub_status_module
$ make & make install

配置文件:

 

server {
    listen 80;
    listen 443 ssl;                # 监听443端口, 开启ssl(必须)
    server_name domain.com;
    
    # ssl on;     # 不建议使用! 该指令与listen中ssl参数功能相同.
    # 引用ssl证书(必须,如果放在nginx/conf/ssl下可以用相对路径,其他位置必须用绝对路径)
    ssl_certificate      /home/user/domain.com/conf/ssl/domain.crt;
    ssl_certificate_key  /home/user/domain.com/conf/ssl/domain_nopass.key;

    # 协议优化(可选,优化https协议,增强安全性)
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers  on;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  10m;

    # 自动跳转到HTTPS
    if ($server_port = 80) {
        rewrite ^(.*)$ https://$host$1 permanent;
    }

    # 其他配置信息...
}

配置完成后检查niginx配置文件是否可用:
$ nginx -t # 检查nginx配置文件
successful后重新加载配置文件使配置生效:
$ nginx -s reload

注:记得开启防火墙的443端口 firewall-cmd --zone=public --add_port=443/tcp permanent

注:我使用的nginx+uwsgi部署,这种情况还需要重启下uwsgi,否则无法访问 uwsgi --reload ./tmp/uwsgi.pid

 

不开启评论,如有问题疑问请发邮件。[email protected]最长的路 » 如何创建自签名的 SSL 证书