服务器部署——nginx配置https访问,生成自签名证书

正文开始:(绿色文字为关键命令)

这里说下Linux 系统怎么通过openssl命令生成 证书。

创建存放证书的目录,此目录可自定义

cd /etc/nginx

mkdir key

cd key

 

执行如下命令生成一个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个文件(ssl.key ssl.csr)生成crt证书文件

sudo openssl x509 -req -days 365 -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节点里加入以下配置就可以了。

server {
  listen 443;  # https默认使用443端口
  server_name 0.0.0.0;  # 将0.0.0.0替换为你的网站域名或ip

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

  location / {    
    # 自定义配置, 参考博客:https://blog.csdn.net/Reid_Lv/article/details/80109127
  }
}

最后重启nginx就大功告成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章