( 1 ) 首先在 Nginx 目录下创建 cert 目录 (ps:大家都喜欢用这个目录名字来存放证书,入乡随俗...) , 将自己的证书放入目录里面 , 证书一般有两个部分 , 一个是 .pem 文件 , 另一个是 .key 文件 .
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
这部分默认是被注释掉的 , 修改如下 (以下属性中 ssl 开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/xxxxxxxxxx.pem;
ssl_certificate_key cert/xxxxxxxxxx.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;
}
}
其中 ssl_certificate 属性和 ssl_certificate_key 属性分别对应证书.key的位置 .
这样相对路径的配置在我的服务器上报错找不到证书 , 将以上两个属性修改为绝对路径 : /usr/local/nginx/cert/xxxx.pem解决 .
重启nginx ok!
如果想让域名只能https访问 , http访问不了 , nginx做一下端口转发就行 , 自行百度解决.