您的位置:首页 > 理论基础 > 计算机网络

为nginx配置https并自签名证书

2015-12-03 17:45 791 查看

1. 准备证书

1.1 制作CA证书

ca.key CA私钥

openssl genrsa -des3 -out ca.key 2048

ca.crt CA根证书(公钥)

openssl req -new -x509 -days 7305 -key ca.key -out ca.crt

1.2 制作生成网站的证书并用CA签名认证

假设网站域名为test.fengniaojr.com

生成网站证书私钥

openssl genrsa -des3 -out test.fengniaojr.com.pem 1024

制作解密后的网站证书私钥

openssl rsa -in test.fengniaojr.com.pem -out test.fengniaojr.com.key

生成签名请求

openssl req -new -key test.fengniaojr.com.pem -out test.fengniaojr.com.csr

在common name中填入网站域名,如test.fengniaojr.com即可生成改站点的证书,同时也可以使用泛域名如*.fengniaojr.com来生成所有二级域名可用的网站证书。

用CA进行签名

touch /etc/pki/CA/index.txt

echo 00 > /etc/pki/CA/serial

openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in test.fengniaojr.com.csr -out test.fengniaojr.com.crt

现在网站私钥test.fengniaojr.com.key和网站证书test.fengniaojr.com.crt都准备完毕。接下来开始配置服务端。

2. 配置nginx

修改nginx配置文件

http {
...
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
...
}

server{
...
listen 443;
ssl on;
ssl_certificate /path/to/test.fengniaojr.com.crt;
ssl_certificate_key /path/to/test.fengniaojr.com.key;
keepalive_timeout 70;
...
}


修改防护墙配置,放开443端口

sudo vi /etc/sysconfig/iptables

添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

重启防护墙:
sudo service iptables restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  openssl ca