设为首页 收藏本站
查看: 928|回复: 0

[经验分享] nginx如何开启https协议

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-26 10:58:39 | 显示全部楼层 |阅读模式
nginx的https协议需要ssl模块的支持,我们在编译nginx时使用–with-http_ssl_module参数加入SSL模块。还需要服务器私钥,服务器证书,如果是公司对外环境,这个证书需要购买第三方的权威证书,否则用户体验得不到保障;这里我仅仅在我的vps上使用并测试。
注意:如果你购买的是第三方服务证书,那么只需要参考1.3-1.4的配置信息即可完整企业ssl配置实践。
1.1检查NginxSSL模块是否安装
1
2
3
4
5
[iyunv@web-node1 ~]# /application/nginx/sbin/nginx -V
nginx version: nginx/1.6.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
TLS SNI support enabled
configure arguments: –prefix=/application/nginx-1.6.3 –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module




1.2准备私钥和证书
1.2.1创建服务器私钥
1
2
3
4
5
6
7
8
9
10
[iyunv@web-node1 ~]# cd /application/nginx/conf/
[iyunv@web-node1 conf]# mkdir key
[iyunv@web-node1 conf]# cd key/
[iyunv@web-node1 key]# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
..++++++
…++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:       ##输入一个密码
Verifying – Enter pass phrase for server.key:  ##再次输入



1.2.2签发证书
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[iyunv@web-node1 key]# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:BJ
Organization Name (eg, company) [Default Company Ltd]:SDU
Organizational Unit Name (eg, section) []:SA
Common Name (eg, your name or your server’s hostname) []:XuBuSi
Email Address []:huningfei@126.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:  
An optional company name []:



1.2.3删除服务器私钥口令
1
2
3
4
[iyunv@web-node1 key]# cp server.key server.key.ori
[iyunv@web-node1 key]# openssl rsa -in server.key.ori -out server.key
Enter pass phrase for server.key.ori:
writing RSA key



1.2.4生成使用签名请求证书和私钥生成自签证书
1
2
3
4
[iyunv@web-node1 key]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=CN/ST=BJ/L=BJ/O=SDU/OU=SA/CN=XuBuSi/emailAddress=huningfei@126.com
Getting Private key



1.3开启Nginx SSL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server {
server_name www.123.com;
listen       80;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.123.com;
ssl on;
ssl_certificate key/server.crt;
ssl_certificate_key key/server.key;
location / {
root  /application/nginx-1.6.2/html/;   ##nginx的默认目录
index  index.html index.htm index.php;
}
}



把80端口的访问自动转到443端口
最后重启nginx服务
/application/nginx/sbin/nginx -s reload
查看端口
netstat -lnp | grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      8342/nginx
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      8342/nginx
最后可以在浏览器里面测试 http://www.123.com 看是否自动跳转到https



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-222119-1-1.html 上篇帖子: 带你使用Nginx实现HTTPS双向验证 下篇帖子: nginx的root和alias指令的区别 如何
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表