关于利用cerbot部署ssl证书,实现https访问(基于Centos7服务器,Nginx环境)一点心得

由于网络的不安全,现在大部分网站已经从HTTP向HTTPS转化了,何为HTTPS?百科上这样介绍"HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。",当你的网站从http转化为https的,你的网站安全性会有所提高,国外的有些第三方登陆需要你的回调网站必须得是https而不能是http,比如国外知名的聊天软件Facebook,里面就有硬性规定。

网址是: https://developers.facebook.com/apps/992881111100509/fb-login/settings/

访问的时候得翻墙哦!

在以往的项目中我曾经部署,今天写一下自己的部署的一些心得:

HTTPS部署千万条,我只选其一,它就是基于cerbot部署。

cerot的官网: https://certbot.eff.org/

cerbot部署的证书是Let‘s encrypt 公司提供的ssl证书,这家的证书唯一的好处就是免费,免费才是王道。

准备的东西:你需要有一个公网地址,并绑定合法域名

介绍完了,现在开始详细步骤:

第一步:安装cerot

cerbot有两种安装模式分别是:(1)、 standalone 方式: certbot 会自己运行一个 web server 来进行验证。如果我们自己的服务器上已经有 web server 正在运行 (比如 Nginx 或 Apache ),用 standalone 方式的话需要先关掉它,以免冲突。(2)webroot 方式: certbot 会利用既有的 web server,在其 web root目录下创建隐藏文件, Let’s Encrypt 服务端会通过域名来访问这些隐藏文件,以确认你的确拥有对应域名的控制权。

我用的是第二种,也就是webroot方式;

(1)、下载Certbot客户端:

wget https://dl.eff.org/certbot-auto

(2)、下载后,进入下载的目录,添加执行权限

chmod   a+x   ./certbot-auto

第二步:使用certbot-auto命令,生成证书

./certbot-auto --help all 

此命令过后会进入配置步骤,根据提示填写相应的信息,都是英语,看不懂不怕,可以借助翻译软件,比如说我最爱的一款翻译软件,有道词典 根据步骤下来到最后会有以下界面,就说明你安装成功了,注意:在此之前你要配好你的Nginx的80端口哦

从上图中可以看到,会在/etc/letsencrypt/live下 生成你的域名的文件夹,并且目录下会有此文件:

nginx的https 访问,需要用到 上述两个 pem的证书文件:

第三步:配置nginx支持https访问,测试 https的证书是否可用:

第四步:重载nginx服务;

sudo   nginx  -s  reload

第五步:然后用https访问自己的域名,看是否成功!

注意:

1,检查自己的443端口打开,包括自己云服务器上的防火墙设置443端口是否开启,服务器开启443命令如下:

开启443端口:firewall-cmd --permanent --add-port=443/tcp
查看是否成功:firewall-cmd --permanent --query-port=443/tcp
端口添加成功后,需要reload重新载入:firewall-cmd --reload

2:设置Nginx配置文件,实现http和https同时访问

server {
listen 80;(监听80端口)
listen 443 ssl;(监听443端口)

server_name:(此处填写你的域名)

####端口转发配置
location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
ssl_certificate **/**/**chain.pem;(此处修改为你上面安装成功以后的第一个pem文件路径)
ssl_certificate_key **/**/**key.pem;(此处修改为你上面安装成功以后的第二个pem文件路径)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
}

3.重启nginx就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值