它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

nginx 自签名证书 配置 https

Posted on 2017-06-30 10:20  陈达辉  阅读(399)  评论(0编辑  收藏  举报

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

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

# yum install openssl
# yum install openssl-devel

2、生成证书

首先,进入你想创建证书和私钥的目录,例如:
# cd /etc/nginx/

创建服务器私钥,命令会让你输入一个口令:
# openssl genrsa -des3 -out server.key 1024

创建签名请求的证书(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 3650 -in server.csr -signkey server.key -out server.crt

 

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

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