nginx 自签名证书 配置 https

时间:2023-01-06 21:18:32

最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。

1、首先确保机器上安装了openssl和openssl-devel

# yum install openssl
# yum install openssl-devel

2、生成证书

首先,进入你想创建证书和私钥的目录,例如:
# cd /etc/nginx/ 创建服务器私钥,命令会让你输入一个口令:
# openssl genrsa -des3 -out server.key 创建签名请求的证书(CSR):
# openssl req -new -key server.key -out server.csr 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key
最后标记证书使用上述私钥和CSR:
# openssl x509 -req -days -in server.csr -signkey server.key -out server.crt

3、配置Nginx,让其包含新标记的证书和私钥

server {
server_name YOUR_DOMAINNAME_HERE;
listen ;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
}