设置站点为https协议访问

=设置HTTPS协议访问全站概要====
说明:本例主要基于1、域名从阿里云购买的 2、centos Version > 7 3、nginx服务器进行说明
1、下载证书之后,在服务器nginx的安装目录(我的是在/etc/nginx)新建cert目录,
将下载的.key和.pem文件放进此文件,注意的是文件的权限。
2、添加配置nginx.conf文件 如下
server {
listen 443 ssl; //监听443port
server_name www.jiangbowen.cn jiangbowen.cn; //您的域名
ssl on; //开启ssl协议访问
root html; //访问目录/文件
index index.html index.htm index.php
ssl_certificate /etc/nginx/cert/1533192040291.pem; //证书的安装位置 最好写绝对路径
ssl_certificate_key /etc/nginx/cert/1533192040291.key;
ssl_session_cache shared:SSL:1m; //设置的缓存
ssl_session_timeout 5m; //设置的超时时间
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
3、配置之后,可以正式访问,但此时会报该网站无法访问(小编的第一个坑)
这是为什么呢,同样如果你没设置跳转(http->https)或者没设置(强制跳转)
同样会先访问80端口,所在我们在http段也要将证书的路径放上去,配置如下(部分)
http {
include mime.types;
default_type application/octet-stream;
ssl_certificate /etc/nginx/cert/1533192040291.pem; ====
ssl_certificate_key /etc/nginx/cert/1533192040291.key; ====
#log_format main '$remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “KaTeX parse error: Expected 'EOF', got '#' at position 16: request" ' #̲ …status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer” ’
#
}
4、跳完这个坑,再来访问https://jiangbowen.cn这个站点,发现还是访问不了,在自己的服务器上 wget http://jiangbowen.cn 是能访问的了的,但是wget https://jiangbowen.cn connect failed…
到这一步,可以确定应该是443端口访问不了的原因
5、细究具体原因是防火墙搞的鬼了。这个就涉及到了一个概念:
Centos7和Centos6 防火墙的区别:
使用的工具不一样了。Centos6 使用的是iptables ,Centos7 使用的是firewall
iptables 用于过滤数据包,属于网络层防火墙。
firewall 能够允许哪些服务可用,那些端口可用…属于更高一层的防火墙。
6、所以我们应该看看firewall的相关命令
同理我们 cd /etc/firewall 这是配置文件路径
6.1 查看firewall服务状态 systemctl status firewalld
6.2 查看firewall状态 firewall-cmd --state
6.3 # 开启firewalld.service服务
service firewalld start
# 重启firewalld.service服务
service firewalld restart
# 关闭firewalld.service服务
service firewalld stop
6.4 查看防火墙规则 firewall-cmd --list-all
6.5 添加防火墙规则 如添加443端口: sudo firewall-cmd --zone=public --add-port=443/tcp – permanent
6.6 添加完规则之后 重启firewalld服务
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;
4. 开启防火墙,# systemctl start firewalld 没有任何提示即开启成功
5. 开启防火墙 # service firewalld start
关闭防火墙 # systemctl stop firewalld
centos7.3 上述方式可能无法开启,可以先#systemctl unmask firewalld.service 然后 # systemctl start firewalld.service
6. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示no表示未开
7. 开永久端口号 firewall-cmd --add-port=666/tcp --permanent 提示 success 表示成功
8. 重新载入配置 # firewall-cmd --reload 比如添加规则之后,需要执行此命令
9. 再次查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示yes表示成功
10. 若移除端口 # firewall-cmd --permanent --remove-port=666/tcp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值