一. 开启 SSL模块
SSL 模块默认不开启,configure 时必须携带参数以开启:
./configure ...... --with-http_ssl_module
通过 -V 参数,确认 SSL 模块是否已经成功开启:
./nginx -V
二. 制作数字签名
1. 创建文件夹 $DIR,用于存放相关的所有文件;
2. 创建 CA 证书:
a. 创建一个 RSA 密钥,需要输入密码并牢记
openssl genrsa -des3 -out $DIR/ca.key 1024
b, 创建一个 CA 证书
openssl req -new -x509 -days 3640 -key ca.key -out $DIR/ca.crt
然后需要输入下列信息:
Country Name: CN
State or Province Name: HZ
Locality Name: Hangzhou
Organization Name: Alibaba
Organizational Unit Name: DEV
Common Name: test.alibaba.com
Email Address: yuzhang.weiyz@alibaba-inc.com
3. 创建 Server 证书:
a. 创建 server 的 RSA 密钥
openssl genrsa -des3 -out $DIR/server.key 1024
b. 生成证书签署请求的 CSR
openssl req -new -key $DIR/server.key -out $DIR/server.csr
c. 创建其它相关文件及目录
touch $DIR/index.txt
echo "01" >> $DIR/serial
mkdir newcerts
d. 修改 openssl.cnf(/etc/ssl/openssl.cnf)
dir = ... 改为创建的目录 dir = $DIR
e. 签署证书
openssl ca -in $DIR/server.csr -out $DIR/server.crt -cert $DIR/ca.crt -keyfile $DIR/ca.key
三. 配置并重启 Nginx
server {
server_name test.alibaba.com;
listen 443;
ssl on;
ssl_certificate $DIR/server.crt;
ssl_certificate_key $DIR/server.key;
}
四. 访问
https://test.alibaba.com