Nginx的SSL
2019独角兽企业重金招聘Python工程师标准>>>
Nginx的SSL
- 当我们访问站点时,网址的前缀是https的就是启用了ssl
- SSL介绍:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
为什么要使用SSL?
- 当我们在访问某些站点时需要登录的时候,如果是http的,某些技术人员可以通过网络抓包的方式获取到我们的账号密码等信息,他们可以通过技术手段将那些内容还原成明文的形式,是不安全的。而使用https这样的站点,即使有人抓取到了我们登录时的包,内容也是加密的,没发通过技术手段还原成明文的形式,是比较安全的一种措施。
- http 使用的端口是80,https使用的端口是443。这些端口是可以改变的,但是协议是固定的。
实现Nginx的SSL的实例:
- 申请ssl证书:freessl.org,如果是生产环境最好不要使用这个免费的,可以去www.wosign.com 购买证书。
验证通过后,在我们要做SSL的Nginx服务器上创建三个文件
root@localhost conf.d]# vi /etc/nginx/ssl/gongzi.crt
[root@localhost conf.d]# vi /etc/nginx/ssl/gongzi.key
[root@localhost conf.d]# vi /etc/nginx/ssl/gongzi.ca将证书中的ca证书写入gongzi.ca中,将证书中证书写入gongzi.crt中,将证书中的私钥写入gongzi.key中
编辑配置文件 vi /etc/nginx/conf.d/www.gongzi.site.conf
server {
listen 443; ##监听端口改为443
server_name www.gongzi.site;
ssl on; ##添加的内容
ssl_certificate /etc/nginx/ssl/gongzi.crt; ## 添加的内容
ssl_certificate_key /etc/nginx/ssl/gongzi.key; ##添加的内容
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ##添加的内容
access_log /var/log/nginx/bbs.aaa.com.log main;
#charset koi8-r;
location / {
root /data/wwwroot/bbs.aaa.com;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/wwwroot/bbs.aaa.com;
}
location ~ \.php$ {
root /data/wwwroot/bbs.aaa.com;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/bbs.aaa.com$fastcgi_script_name;
include fastcgi_params;
nginx -t nginx -s reload 检测是否有错,重新加载配置文件
将443端口加入firewalld防火墙策略,并重新加载防火墙
[root@localhost conf.d]# firewall-cmd —add-port=443/tcp —permanent
success
[root@localhost conf.d]# firewall-cmd —reload
success因为实验中的实例不是线上的,所以需要将域名指定到实例的ip上,需要更改客户机的hosts文件
- 验证:在浏览器中输入 :https://www.gongzi.site 就可以访问到我们的站点了。
转载于//my.oschina.net/u/3731306/blog/3013943
还没有评论,来说两句吧...