码迷,mamicode.com
首页 > Web开发 > 详细

nginx配置https

时间:2019-06-21 11:00:05      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:session   直辖市   假设   ofo   开启   单位   server   tlsv1   example   

最近开发一个微信公众号小程序,服务器端要求https,于是在申请到的三 丰 云 免费云 主 机上部署了nginx,并配置启用了443https。记录一下设置过程:

第一步、nginx重新编译添加ssl模块

1、查看nginx版本号:

cd /usr/local/nginx/sbin

./nginx -V

2、下载nginx对应版本源码包并解压

cd /usr/local/src

wget http://nginx.org/download/nginx-1.14.1.tar.gz

tar -zxvf nginx-1.14.1.tar.gz

3、编译

cd nginx-1.14.1

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

make

4、复制执行文件

cd /usr/local/src/nginx-1.14.1/objs

killall nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp objs/nginx /usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -t

cd /usr/local/nginx/sbin/
./nginx

第二步、SSL证书申请

1、确认需要申请证书的域名

2、生成私钥和csr文件

在linux机器上执行以下命令生成私钥

#openssl genrsa -out server.key 2048

在linux机器上执行以下命令生成csr文件

#openssl req -new -key server.key -out certreq.csr

以下黑色标识文字仅供参考,请根据商户自己实际情况进行填写

Country Name: CN //您所在国家的ISO标准代号,中国为CN

State or Province Name:guandong //您单位所在地省/自治区/直辖市

Locality Name:shenzhen //您单位所在地的市/县/区

Organization Name: Tencent Technology (Shenzhen) Company Limited //您单位/机构/企业合法的名称

Organizational Unit Name: R&D //部门名称

Common Name: www.example.com //通用名,例如:www.itrus.com.cn。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。

Email Address: //您的邮件地址,不必输入,直接回车跳过

"extra"attributes //以下信息不必输入,回车跳过直到命令执行完毕。

执行上面的命令后,在当前目录下即可生成私钥文件server.key和certreq.csr csr文件

3、

a、将生成的csr文件提交给第三方证书颁发机构申请对应域名的服务器证书,同时将私钥文件保存好,以免丢失。

b、服务器配置https协议,三种免费的方法(可使用免费的证书)

4、证书申请后,证书颁发机构会提供服务器证书内容和两张中级CA证书,请按证书颁发机器说明生成服务器证书,此处假设服务器证书文件名称为server.pem

5、将生成的私钥文件server.key和服务器证书server.pem拷贝至服务器指定的目录即可进行HTTPS服务器配置

第三步、HTTPS服务器配置

1、 Nginx配置

server {

listen 443; #指定ssl监听端口

server_name www.example.com;

ssl on; #开启ssl支持

ssl_certificate /etc/nginx/server.pem; #指定服务器证书路径

ssl_certificate_key /etc/nginx/server.key; #指定私钥证书路径

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定SSL服务器端支持的协议版本

ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #指定加密算法

ssl_prefer_server_ciphers on; #在使用SSLv3和TLS协议时指定服务器的加密算法要优先于客户端的加密算法

#以下内容请按域名需要进行配置,此处仅供参考

location / {

return 444;

}

}

nginx配置https

标签:session   直辖市   假设   ofo   开启   单位   server   tlsv1   example   

原文地址:https://blog.51cto.com/7704223/2411776

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!