教你在Nginx上使用CertBot把自己网站设置成HTTPS

news/2024/5/10 10:41:05/文章来源:https://ch3nnn.blog.csdn.net/article/details/104971719

前言

自己做了一个博客,需要访问自己的网站获取数据,但是系统默认只能直接访问https的网站。不想让应用改用http的服务。因此,研究如何启用https,本文即是介绍如何在CentOS上配合Nginx使用CertBot。

环境

  • Ubuntu

  • Nginx

安装CertBot

命令行,键入:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

然后,可以使用以下命令安装certbot:

sudo apt-get install certbot python-certbot-nginx

生成证书

sudo certbot --nginx

剩下的一切会自动完成。Certbot 会自动帮你注册账户,检测 Nginx 配置文件中的域名,询问你为哪些域名生成证书,是否将 Http 重定向到 Https 等等,最后帮你自动修改 Nginx 配置并重启,这时你的网站已经变成了 Https。

但Certbot没有给你自动修改Nginx配置时,这时候需要自己配置

如果提示:

IMPORTANT NOTES:- Congratulations! Your certificate and chain have been saved at/etc/letsencrypt/live/your.domain.com/fullchain.pem. Your certwill expire on 20XX-09-23. To obtain a new or tweaked version ofthis certificate in the future, simply run certbot again. Tonon-interactively renew *all* of your certificates, run "certbotrenew"- If you like Certbot, please consider supporting our work by:Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donateDonating to EFF:                    https://eff.org/donate-le

证书生成成功!

配置Nginx

目前已经自动帮我们配置证书了,我们可以看下配置的形式,后续可以自己配置。

server {server_name bbs.wzlinux.com;   # managed by Certbotroot         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}listen [::]:443 ssl ipv6only=on; # managed by Certbotlisten 443 ssl; # managed by Certbotssl_certificate /etc/letsencrypt/live/bbs.wzlinux.com/fullchain.pem; # managed by Certbotssl_certificate_key /etc/letsencrypt/live/bbs.wzlinux.com/privkey.pem; # managed by Certbotinclude /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbotssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}server {if ($host = bbs.wzlinux.com) {return 301 https://$host$request_uri;} # managed by Certbotlisten       80 ;listen       [::]:80 ;server_name bbs.wzlinux.com;return 404; # managed by Certbot}

 

启用443端口

同样,修改Nginx的虚拟主机配置文件,新建一个443端口的server配置:

server {listen 443 ssl;listen [::]:443 ssl ipv6only=on;ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;ssl_trusted_certificate /etc/letsencrypt/live/your.domain.com/chain.pem;// ... other settings ...
}

上面记得替换your.domain.com为你自己的域名。

接着重新加载Nginx配置:

sudo service nginx reload

现在通过浏览器访问你的网站:https://your.domain.com试试,如果看到浏览器的绿色标志,恭喜你设置成功!

不过由于这个证书的时效只有90天,我们需要设置自动更新的功能,帮我们自动更新证书的时效。

自动更新证书

先在命令行模拟证书更新:

sudo certbot renew --dry-run

模拟更新成功的效果如下:

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/your.domain.com.conf
-------------------------------------------------------------------------------
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)Congratulations, all renewals succeeded. The following certs have been renewed:/etc/letsencrypt/live/your.domain.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)

既然模拟成功,我们就使用crontab -e的命令来启用自动任务,命令行:

sudo crontab -e

添加配置:

0 4 * * * /usr/bin/certbot renew  >> /var/log/le-renew.log

上面的执行时间为:每天执行renew任务。

你可以在命令行执行/usr/bin/certbot renew >> /var/log/le-renew.log看看是否执行正常,如果一切OK,那么我们的配置到此结束!

参考

  • Certbot官网

  • LetsEncrypt Nginx and Proxy Apps on Ubuntu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_747938.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10个有用的jQuery插件,可将Twitter整合到博客/网站中

我们都知道,Twitter已成为全世界最流行和盛行的社交网络之一,用于在线交流和讨论。 将Twitter带入您的网站将帮助您吸引访问者并宣传您的内容,而将Twitter集成到网站中的最简单方法是Tweeter本身创建的小部件? 现在不行了&#xf…

Python基础教程学习:遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定

Python基础教程学习:遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定 你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作。。。。。 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招…

jquery mobile_15个令人兴奋的jQuery Mobile网站示例

jquery mobile有数百个(甚至数千个)使用jQuery mobile构建的网站,所以今天我们将与您分享15个令人兴奋的jQuery mobile网站的集合,以获取您的想法和灵感。 陷入困境并享受乐趣! 相关文章: 50个jQuery Mob…

15个令人兴奋的jQuery Mobile网站示例

有数百个(甚至数千个)使用jQuery mobile构建的网站,所以今天我们将与您分享15个令人兴奋的jQuery mobile网站的集合,以获取您的想法和灵感。 陷入困境并享受乐趣! 相关文章: 50个jQuery Mobile开发技巧 聚…

python爬虫反反爬,你几乎可以横扫大部分 css 字体加密的网站

你已经知道了对方是 如何自定义字体加密的了 你要想去反反爬 你就要先站在对方的角度去思考问题 有句话这么说来着 “知己知彼,才能那啥” 那么对于像猫眼电影、大众点评等等 那样的 css 自定义字体加密 应该怎么破呢? 接下来就是 学习 python 的…

比较好的Java 网站

比较好的Java 网站javaboys 51cto技术博客[%title%][%count%]票 [[%percent%]%] 比较好的Java 网站1. The Source for Java Technology Collaboration(JAVA开发的官方网站) [url]http://www.java.net/[/url] - 外文 2. jGuru: FAQ Home Page 推荐 [url]http://www…

爬取某网站所有的乌云漏洞公共文章,并保存为pdf文件

鼎鼎大名的乌云网站,仅存在6年左右,就停摆,真是可惜。。。 从某网站爬取所有公开的乌云漏洞文章,保存为pdf格式,以作纪念学习使用 首先创建一个文件夹wooyun,把下面代码保存为test.py,然后放在该…

Nginx基础篇(八);Nginx访问认证、网站展示目录结构浏览网页

Table of Contents 一、参数说明 二、实现访问认证步骤 三、Nginx访问认证出现状态码403 forbidden的原因 四、在网站展示目录结构 需求:在实际工作企业中有时需要我们为网站设置访问账号和密码权限,这样操作后,只有拥有账号密码的人才能…

wp 新窗口插件_适用于您的WP网站的10个令人兴奋的新jQuery插件

wp 新窗口插件今天,我们将向您分享我们的jQuery驱动插件集合,这些集合为您喜欢的WordPress网站增加了凉爽和交互式效果。 请享用! 另请参阅: 100个WordPress jQuery插件 1.破坏性谈话 它是一个phono小部件,可让Word…

Nginx架构篇(三);LNMP架构实现discuz和wordpress搭建:MySQL多实例、主主及主从复制、读写分离及nfs网站代码集中式管理(后续可以为数据库添加MHA,DRBD)

文章目录一、环境搭建及主从复制基础知识二、NFS服务器的配置三、Nginx服务器的配置四、PHP服务器需要做的配置(两个PHP都是一样的配置)五、MySQL多实例:主主、主从复制,读写分离先给3307数据库和3308数据库做主主复制再给3307数据…

LNMP+zabbix监控平台部署(采用阿里云服务器一体化部署监控wordpress网站)

部署前须知: 一般情况下,我们是将其中Zabbix-Server、Zabbix-Proxy、Zabbix-Web、Zabbix-Database专门部署在一台独立服务器上,Zabbix-Agent一般部署在需要被监控的网站的服务器上。 由于资金限制,本人只有一台阿里云服务器,所以…

jQuery网站/博客-全球最佳

这是Internet上最好的jQuery网站和博客的集合(或者至少是到目前为止我发现的博客)。如果您想出现在此列表中,请发表评论并证明自己的理由。 相关文章: 进入互联网的十大jQuery Gurus blog.jquery.com 写更少,做更多&am…

2019升级版最新Python学习路线:关于电影购票网站实现的讲解

这次的Python学习路线跟大家讲一下关于电影购票网站的实现。这几天咱们国产的哪吒很火嘛! 1. 用户功能 同前面所有项目的用户功能,利用AjaxDjango系统认证QQ邮箱实现登陆注册 2. 用户未登陆会跳转到注册登录界面,登录后会返回至主页&#…

jquerymobile_使用jQueryMobile从桌面到移动网站的转换

jquerymobilejQuery Mobile是用于制作移动Web应用程序的强大框架。 但是,我们可以使用它将现有的桌面网站转换为移动形式吗? 可以使用MobilizeToday.com在线服务。 它们提供了基于小部件的模型,该模型将任何现有HTML内容表示到移动视图中。 …

使用jQueryMobile从桌面到移动网站的转换

jQuery Mobile是用于制作移动Web应用程序的强大框架。 但是,我们可以使用它将现有的桌面网站转换为移动形式吗? 可以使用MobilizeToday.com在线服务。 它们提供了基于小部件的模型,该模型将任何现有HTML内容表示到移动视图中。 背后的技术是X…

eyoucms 网站原创文章要怎样进行优化?

互联网一直都是在变化中的,而且百度、搜狗等搜索引擎的抓取方式也在不断的进行改变,这些都导致了网站优化手法的改变,如果说唯一没有变化的话就是对于原创文章的编写以及发布。但是要写出一个高质量原创的文章可不是一件简单的事情&#xff0…

用Python清理收藏夹里已失效的网站,快测试一下你的收藏夹吧

最近打开好多以前收藏的网站,发现好多都已经失效了,好多以前想看还没来得及看的内容,也找不见了。。。 失效的书签们 我们日常浏览网站的时候,时不时会遇到些新奇的东西,于是我们就默默的点了个收藏或者加书签。然而…

SEO删除网站的旧内容,对目前已有的排名有影响吗?

搜索引擎是一个动态变化的过程,而相对于网站而言,对于过往的内容,它都是一沉不变的,这就是为什么网站需要持续的推陈出新,才能使得整站排名保持长期的稳定。 但这里有一个问题,垂直行业的内容资源库是有限…

大型网站系统架构分析

千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? 首先讨论一下大型网站需要注意和考虑的问题。 数据库海量数据处理:负载量不大的情况下select、…

用Python爬取各大网站招聘平台,终于让我给知道对口的工作

个人经历:低不成,高不就 依稀还记得15年刚出来工作那会,在第一个互联网公司实习,在公司听惯了身边人说公司这不好,那不好,作为新人的我深受影响,不知从何时开始就想快点结束实习期换一份更好的…