./configure --prefix=/usr/local/nginx --with-http_ssl_module
1)创建SSL证书私钥,输入两次密码,生成文件为server.key
openssl genrsa -des3 -out server.key 2048
2)利用私钥生成一个不需要输入密码的密钥文件,生成文件为 server_nopass.key, 需要输入一次密码
openssl rsa -in server.key -out server_nopass.key
3)创建SSL证书签名请求文件,生成SSL证书时需要使用到,生成文件为server.csr;
在生成过程中,我们需要输入一些信息,需要注意的是Common Name需要和网站域名一致
openssl req -new -key server.key -out server.csr
4)生成SSL证书,有效期为365天,生成文件为server.crt;
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
没有域名也没事,直接配置 hosts 文件也是可以的
别忘了配完后刷新 dns 缓存: ipconfig/flushdns
server {
listen 80;
listen 443 ssl;
server_name ip;
ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/nginx/ssl/server_nopass.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # SSL协议版本
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # SSL加密算法
ssl_prefer_server_ciphers on; # 优先采取服务器算法
ssl_session_cache shared:SSL:10m; # 共享会话缓存大小
ssl_session_timeout 10m; # 会话超时时间
location / {
root /usr/share/nginx/html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}