nginx 配置https
https
配置https需要有编译ssl_module 模块,编译的时候需要添加–with-http_ssl_module参数,编译的时候需要同时指向openssl源码包的目录。
证书来源:
- 花钱购买;
- 使用免费的let’s encrypt的免费证书,有些设备不信任而已;
- 生成不信任的证书自用。
配置
server {
listen 443;#监听443端口(https默认端口)
server_name www.opcai.com; #填写绑定证书的域名
ssl on;
ssl_certificate xxx.crt;#填写你的证书所在的位置
ssl_certificate_key xxx.key;#填写你的key所在的位置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root xxx ; #填写你的你的站点目录
index index.php index.html index.htm;
}
}
生成不信任的证书
1、创建密钥
使用openssl工具生成一个RSA私钥
openssl genrsa -des3 -out server.key 2048
注意:生成私钥,需要提供一个至少4位,最多1023位的密码。
2、生成CSR(证书签名请求)
openssl req -new -key server.key -out server.csr
3、删除密钥中的密码
openssl rsa -in server.key -out server.key
说明:如果不删除密码,在应用加载的时候会出现输入密码进行验证的情况,不方便自动化部署。
4、生成自签名证书
内部或者测试使用,只要忽略证书提醒就可以了。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
5、生成pem格式的公钥
有些服务,需要有pem格式的证书才能正常加载,可以用下面的命令:
openssl x509 -in server.crt -out server.pem -outform PEM
- 原文作者:Linux运维菜
- 原文链接:https://www.opcai.top/post/2020/2020-04/nginx_https/
- 版权声明:本作品采用进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。