Nginx配置SSL证书部署HTTPS⽹站的⽅法(颁发证书)⾃⾏颁发不受浏览器信任的SSL证书
⼿动颁发
xshell登录服务器,使⽤openssl⽣成RSA密钥及证书
# ⽣成⼀个RSA密钥
$ openssl genrsa -des3 -out tfjybj.key 1024
# 拷贝⼀个不需要输⼊密码的密钥⽂件
$ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key
# ⽣成⼀个证书请求
$ openssl req -new -key tfjybj.key -out tfjybj.csr
这⾥会提⽰输⼊省份、城市、域名等信息,email得是域名后缀。这样就⽣成⼀个csr⽂件,提交给ssl提供商的时候就是这个csr⽂件。
(这⾥由于我没有截图,所以从⽹上了⼀个图⽚,需要替换的是下⾯的33iq,换成tfjybj)
中间输⼊密码的时候,没有什么显⽰,不过就那么输⼊就好
# ⾃⼰签发证书
$ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -
把⽣成的证书放到nginx配置⽂件同级⽬录;
nginx配置
编辑nginx配置⽂件 f,加https协议
server {
server_name tfjybj;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/;
ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;免费ssl证书永久生成
# 若ssl_certificate_key使⽤tfjybj.key,则每次启动Nginx服务器都要求输⼊key的密码。
(开始我不知道,纳闷为啥启动nginx、关闭nginx都要输⼊密码)
}
重启Nginx
⾃⼰颁发的SSL证书能够实现加密传输功能,但浏览器并不信任,会给出提⽰:
通过第三⽅颁发证书–阿⾥云
颁发证书
登录阿⾥云管理控制台,【云盾】菜单选择【证书服务】,选择购买证书;
我弄得免费版的做的测试,申请之后,经过⼀两天的审核,然后就可以下载证书了。下载解压后是两个⽂件,⼀个key结尾,私钥,⼀个是pem结尾,是公钥;
配置nginx
⽂件说明:
证书⽂件”申请的证书名字.pem”,包含两段内容,请不要删除任何⼀段内容。
如果是证书系统创建的CSR,还包含:证书私钥⽂件”申请的证书名字.key”。
( 1 ) 在Nginx的安装⽬录下创建cert⽬录,并且将下载的全部⽂件拷贝到cert⽬录中。如果申请证书时是⾃⼰创建的CSR⽂件,请将对应的私钥⽂件放到cert⽬录下并且命名为”申请的证书名字.key”;
( 2 ) 打开 Nginx 安装⽬录下 conf ⽬录中的 f ⽂件,到:
# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}
( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合⾃⼰的实际情况复制或调整) : server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/申请的证书名字.pem;
ssl_certificate_key cert/申请的证书名字.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出。
( 4 )重启 Nginx。
( 5 ) 通过 https ⽅式访问您的站点
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。