参考:nginx配置https(免费证书)
nginx配置ssl证书实现https访问
openssl genrsa -des3 -out server.key 2048 # 生成 server.key 密钥
会有两次要求输入密码,输入同一个即可
openssl rsa -in server.key -out server.key # 去除上面输入的密码
openssl req -new -key server.key -out server.csr # 创建服务器证书的申请文件server.csr
openssl req -new -x509 -key server.key -out ca.crt -days 3650 # 创建 CA 证书
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
生成文件 ca.crt ca.srl server.crt server.csr server.key ,执行 ls 即可看到
配置nginx.conf
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /path1/server.crt;
ssl_certificate_key /path2/server.key;
# ssl_session_cache shared:SSL:1m;
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 / {
root /path3/html;
index index.html index.htm index.php;
}
}
server {
listen 80;
server_name localhost;// 你的域名
rewrite ^(.*)$ https://$host/$1 permanent;// 把http的域名请求转成https,注意此条必须这样输入
}
find / |grep /sbin/nginx 得下面的路径
/usr/local/nginx/sbin/nginx
执行:/usr/local/nginx/sbin/nginx -t 如果出现 successful 表示配置无误
执行: /usr/local/nginx/sbin/nginx -s reload 使配置生效,可以访问 https 了