部署支持 https 的 Nginx 服务

作者 : 开心源码 本文共3094个字,预计阅读时间需要8分钟 发布时间: 2022-05-12 共154人阅读

通过 Certbot 为 nginx 开启https支持。

环境

  • CentOS 7.1
  • python2.x(这玩意系统里原本就有)

安装Nginx

sudo yum install nginx -y顺手启动:sudo systemctl start nginx顺手设置开机启动:sudo systemctl enable nginx

嗯,就完成了。 至于配置文件,会在后面设置。

配置https

此处我们使用 Let's Encrypt 提供的证书。且为了方便设置,使用 Certbot 配置工具。

工具取得

  • 证书机构: Let's Encrypt – https://letsencrypt.org
  • 配置工具: Certbot – https://certbot.eff.org/ 事实上,你根本用不到上面两个链接,我把它们写在这只是为了方便理解其余细节,顺便表示尊重。

实际上我们可以直接通过包管理器获取 Certbot 工具。

首先需要安装 EPEL 源:

sudo yum install epel-release -y而后安装 Certbot :

sudo yum install python2-certbot-nginx -y

工具安装完成。

使用 Certbot

Certbot 使用命令行中的交互式配置,我们启动它,而后跟着指示一步一步完成就行。

一、 启动 Certbot

通过命令:

sudo certbot –nginx

二、 填写邮箱

在下述提醒后,填写你的邮箱地址。Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): xxxx@xxxx.com输入你的邮箱地址,回车确定。

三、 同意客户协议

下述提醒提示你阅读并同意客户协议之类的。Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf.

You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

(A)gree/(C)ancel: A输入字母 A 回车确定。

四、 请求分享你的邮箱

意思是他们会没事给你发发广告邮件。同意就是了 ╮(╯▽╰)╭Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom.

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

(Y)es/(N)o: Y输入字母 Y 回车确定。

五、 指定域名

因为我们在安装nginx后没有配置站点,所以此处要求我们提供域名,配置工具会帮我们填写nginx的配置文件。No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): www.xxxx.com xxx.xxxx.com输入你自己的域名(多个域名中间用空格隔开)回车确定。

六、 重定向

会讯问你是不是要把所有http请求重定向到https。当然要了~Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – -1: No redirect – Make no further changes to the webserver configuration.2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS.

You can undo this change by editing your web server's configuration.

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2输入数字 2 回车确定。

七、 完成

此时配置已经完成。你可以在接下来的输出中找到如下段落:- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Congratulations! You have successfully enabled https://www.xxxx.com and https://xxx.xxxx.comYou should test your configuration at:https://www.ssllabs.com/ssltest/analyze.html?d=www.xxxx.comhttps://www.ssllabs.com/ssltest/analyze.html?d=xxx.xxxx.com– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – -意思就是你已经成功配置了 www.xxxx.com xxx.xxxx.com 两个域名(就是在 步骤五 输入的那两个,当然,你输入了多少个这里就会显示多少个)。并且你可以在 https://www.ssllabs.com/ 这个网站上测试域名的状态。

八、 证书过期

因为 Let's Encrypt 的免费证书有效期是90天,所以你需要每80几天重新申请一次。

Certbot 可以通过简单的命令完成这个工作:

certbot renew

假如你还是觉得麻烦,可以把这个操作设为定时任务,每80几天运行一次,即可以高枕无忧了。

其余

支持https的nginx已经完全配置完成。

接下来把你的站点放在nginx的目录下就行,一般是 /usr/share/nginx/html 假如不是这里,你可以在nginx的配置文件里找到,配置文件位于 /etc/nginx/nginx.conf 。

在浏览器中打开站点,就能看到地址栏上的小绿锁了~

来源:http://www.cnblogs.com/heioray/p/9403246.html

推荐阅读

【资源分享】Docker核心技术视频教程

Java日志体系详细总结

【资源分享】Spring Cloud微服务实战视频课程

docker安装和常用命令&操作

Java视频资料大全

【资源分享】Netty视频教程

Springmvc源码解析总结

Spring IOC体系图和AOP知识脑图

myBatis 体系结构源码解读

你们都在用IntelliJ IDEA吗?或者许你们需要看一下这篇博文

部署支持 https 的 Nginx 服务

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 部署支持 https 的 Nginx 服务

发表回复