关于利用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了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7服务器上安装和部署Nginx SSL证书,可以按照以下步骤进行操作: 1. 连接到远程服务器: ``` ssh username@192.168.1.24 ``` 将`username`替换为你的用户名,`192.168.1.24`替换为你的服务器IP地址。 2. 安装Nginx: 如果你的服务器上尚未安装Nginx,请使用以下命令进行安装: ``` sudo yum install nginx ``` 3. 准备SSL证书: 将SSL证书文件和私钥文件上传到服务器。确保证书文件和私钥文件是匹配的,并且命名符合约定(例如`cert.pem`和`key.pem`)。 4. 配置Nginx: 打开Nginx的配置文件(通常是在`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`中),并进行以下配置更改: - 在`http`块中,添加一个新的`server`块来定义HTTPS服务器: ``` server { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; ... } ``` 将`your-domain.com`替换为你的域名,将`/path/to/cert.pem`和`/path/to/key.pem`替换为SSL证书文件和私钥文件的路径。 - 如果你的应用程序使用了其他Nginx配置(如代理等),请在此`server`块中进行相应的配置更改。 5. 检查配置文件: 运行以下命令检查Nginx配置文件是否正确: ``` sudo nginx -t ``` 6. 启用防火墙规则(如果需要): 如果服务器启用了防火墙(如firewalld或iptables),请确保允许通过HTTPS访问。例如,使用以下命令启用HTTP和HTTPS规则: ``` sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --zone=public --add-service=https --permanent sudo firewall-cmd --reload ``` 7. 启动Nginx服务: 使用以下命令启动Nginx服务: ``` sudo systemctl start nginx ``` 现在,你的Nginx服务器应该已经配置了SSL证书,并且可以通过HTTPS访问。确保你的域名已经指向了服务器的IP地址,并测试访问以验证证书是否正确安装和部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值