文章目录
提示:首先要安装openssl的服务,现在centos默认都会安装该服务。
1. 使用openssl建立服务器私钥(需要输入密码,请记住这个密码)生成RSA密钥
先创建一个目录,比如ssl目录,执行如下代码,2048表示私钥的长度,如果配置成1024会提示秘钥太短的问题,建议最小2048位。
openssl genrsa -des3 -out server.key 2048
2. 生成一个证书请求
openssl req -new -key server.key -out server.csr
这里需要上一步输入的密码。
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。
3. 使用下面命令可以删除私钥中的密码,不然每次reload nginx配置时候都要你验证这个PAM密码
openssl rsa -in server.key -out server.key
4. 以下命令生成自签名证书
openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt
5. 将server.crt和server.key拷贝至Nginx的conf目录的ssl文件夹下面
提示:放置在别的文件夹也是可以的,不过就要写全路径了,放在conf下面,可以配置相对路径,这个在下面的配置中可以看到。
6. 将nginx.conf的配置里,加上证书和相关的配置。
主要对应server中的部分,其他部分照常配置即可。
server {
listen 443 ssl;
server_name localhost;
charset utf-8;
#ssl证书
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
location / {
root html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name localhost;
#将请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}