快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

2020-08-18 22:22:06 28点赞 235收藏 9评论

前言:

letsencrypt,是一个不错的集成反向代理,以及自动签发SSL 通配的工具,此次教程的内容有点多,希望大家能消化的进去。

教程:

在使用之前我们先简单了解一下letsencrypt,这个工具的基本要求。

此工具支持验证的方式只有三种、TLS-SNI/HTTP/DNS

在国内以上三种方式,我们只能使用DNS

支持的DNS 服务商有很多,现在容器内支持的配置文件中,aliyun是一个不错的选择

此次教程的东西:

自备域名一个

aliyun账号一个

域名处理

这里有两种情况,第一种是你已经永久在阿里云的域名,你可以跳过域名处理这个部分,如果没有,我们需要把在其他服务商购买的域名,使用阿里云的DNS 服务器解析服务(希望这么做阿里不会打死我)快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

演示:

这里我就是属于第二种,这里我只演示腾讯云(DNSPOD)购买的域名,其他服务商购买的域名也是一样的,都可以修改自己想用的DNS服务商来解析自己的域名。

登录阿里云,控制台-云解析DNS:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

输入域名后,他会提示你配置DNS

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

阿里云的DNS 服务器地址为:

ns1.alidns.com

ns2.alidns.com

我们登录到腾讯云,控制面板-域名注册:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

注意:

常规来说修改解析服务器全球生效需要72小时!但是本人亲测,30分钟左右 国内就可以更换完成,就可以使用阿里云进行解析了。

获取阿里的KEY:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

记录到KEY两个数值之后,保存下来我们后期会用得到。

配置letsencrypt的docker模板:

我们在unRAID的APPS内搜索letsencrypt,点击下载配置模板!

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

按照上面的图片配置完成后,APPLY 开始下载镜像配置容器。

等待容器启动完成后,我们停止容器,对DNS-Plugin 进行配置。

默认的路径:/mnt/user/appdata/letsencrypt/dns-conf

我们可以用SSH命令修改,或者是可到云,方法大家自己寻找,我这里使用可到云进行演示:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

把我们获取到的阿里云的KEY 粘贴到对应的位置:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

粘贴好以后、保存我们回到unRAID的主页面,对docker进行启动。

启动后,我们查看docker的日志:

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

快速签发证书、自动续签、反向代理、通配SSL的工具 letsencrypt

获取到的证书存放位置:

ssl_certificate /config/keys/letsencrypt/fullchain.pem;

ssl_certificate_key /config/keys/letsencrypt/privkey.pem;

注意这里是容器内的路径,对应的外部路径为:/mnt/user/appdata/letsencrypt/keys/letsencrypt/

到此证书获取,就已经完成!我们可以把这个路径映射到其他容器的内部,做到其他容器同时更新KEY,或者单独拷贝来手动移动都可以。

注意:第一次有一定几率日志中会出现错误,这里我们不要慌张,是因为解析的信息,DNS服务器还未生效,我们在一次启动失败之后等一小会,重启一下容器即可,如果还是出现错误,仔细分析日志,注意阿里云的KEY书写,还有KEY的正确性。

反向代理:

这里还是要感谢lsio的大神们,在容器里面内置了大量的反向代理配置文件,如果你需要反向代理的服务端,在配置文件下面有,你就不需要去自己去配置反向代理的繁琐参数,简单配置一下目标服务器即可直接使用。

这里我用前两天刚搭建的Rocker.chat进行演示,这个服务端,容器内没有内置配置文件所以我这里提供一个。在针对内容进行修改。

server {
listen 443 ssl;

server_name rocketchat.*; #访问的url 示例:server_name rocketchat.xxx.com;
server_name www.xxx.com/rocketchat;


include /config/nginx/ssl.conf;
client_max_body_size 0;

location / {
resolver 127.0.0.11 valid=30s;
set $upstream_app Rocket.Chat; #被代理服务的ip或者url 示例:set $upstream_app 192.168.1.2;
set $upstream_port 3000; #被代理的服务器访问端口
set $upstream_proto http; #被代理服务器的访问协议(一般是默认的)
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}

server {
listen 80;

server_name rocket.*;

return 301 https://$host$request_uri;
}

在/mnt/user/appdata/letsencrypt/nginx/proxy-confs 创建一个rocketchat.subdomain.conf的文件 把上面的内容粘贴进去。

之后返回到unRAID的面板,对letsencrypt容器进行重启。

重启之后使用https://domain.com:prot 进行访问 (domian.com是一个示例请勿照抄)

在proxy-confs路径下有很多预制好的配置文件,我们针配置文件进行修改之后,我们需要修改掉他的后缀把sample删掉,以.conf结尾,然后重启容器,才可以生效!

注意:在写入配置文件的时候注意配置文件的缩进,在实际使用中最好删除我写的配置备注,一面出现启动错误的情况!!!

小科普:

反向代理,可以端口复用,所有url可以使用一个端口进行访问,可以使用不同的二级域名进行拆分需要访问的服务器,比如:

dns.domain.com , ros.domain.com 等等。。。。。 还可以使用 www.domain.com/dns , www.domain.com/ros 来进行访问不同的服务端,这里我演示的方式 是使用了默认的端口,在实际应用中我们访问还需要在后面增加上通讯端口才可以,也可以在反向代理服务器加上验证的密码。来保护一些 web服务器没有密码验证的问题。

结尾:

希望这个教程在大家使用反向代理的时候能帮到大家,内置的大部分我们常用的反向代理配置文件,按照我上面的示例配置文件进行更改即可,或者自己写一个根据自己需求的也是可以的。

最后祝大家玩的愉快,如有什么问题,可以在下面留言

展开 收起

Thunder 迅雷 超级会员 年卡

Thunder 迅雷 超级会员 年卡

155元起

百度网盘 超级会员

百度网盘 超级会员

81.7元起

WPS 金山软件 wps超级会员月卡

WPS 金山软件 wps超级会员月卡

22元起

京东PLUS会员年卡12个月京典卡权益1年单京东会员一年京东会员年卡京东会员

京东PLUS会员年卡12个月京典卡权益1年单京东会员一年京东会员年卡京东会员

暂无报价

Thunder 迅雷 超级会员2年+6个月

Thunder 迅雷 超级会员2年+6个月

暂无报价

WPS 金山软件 WPS会员 年卡

WPS 金山软件 WPS会员 年卡

70.3元起

iQIYI 爱奇艺 爱奇艺视频黄金VIP会员 12个月

iQIYI 爱奇艺 爱奇艺视频黄金VIP会员 12个月

140元起

JINGDONG 京东 波轮洗衣机全拆洗服务 上门深度清洗

JINGDONG 京东 波轮洗衣机全拆洗服务 上门深度清洗

119元起

Tencent 腾讯 腾讯视频VIP会员 12个月

Tencent 腾讯 腾讯视频VIP会员 12个月

115元起

Thunder 迅雷 白金会员12个月 迅雷白金会员年卡

Thunder 迅雷 白金会员12个月 迅雷白金会员年卡

89元起

Microsoft 微软 活动仅7天,正版微软office2016专业版绑定帐号终身使用

Microsoft 微软 活动仅7天,正版微软office2016专业版绑定帐号终身使用

109元起

JINGDONG 京东 洗衣机清洗免拆洗 上门服务 家电清洗 家政保洁

JINGDONG 京东 洗衣机清洗免拆洗 上门服务 家电清洗 家政保洁

79元起

KFC 肯德基 电子券码 肯德基 老北京鸡肉卷两件套(3选1)兑换券

KFC 肯德基 电子券码 肯德基 老北京鸡肉卷两件套(3选1)兑换券

暂无报价

阿里云 盘 超级会员年卡 12个月

阿里云 盘 超级会员年卡 12个月

138元起

JINGDONG 京东 油烟机免拆洗 京东家电清洗 上门服务 家政保洁

JINGDONG 京东 油烟机免拆洗 京东家电清洗 上门服务 家政保洁

129元起

Apple 苹果 App Store 充值卡 500元(电子卡)500-25

Apple 苹果 App Store 充值卡 500元(电子卡)500-25

499元起
9评论

  • 精彩
  • 最新
  • 你好,想请教下,最近准备搭建unRAID,小白,也有腾讯云域名,这个有什么用途吗?

    校验提示文案

    提交
    如果你还有公网ip,就可以通过域名指向ip+路由的端口映射+这个自签名的反向代理,从外网访问内部nas上的各项服务。

    校验提示文案

    提交
    是自动由letsencrypt签名证书…说错了。

    校验提示文案

    提交
    收起所有回复
  • 赞一个,Linux server 的docker,里面虽然各个模板都有,有些但还是不能拿来直接用,需要自己去调一下,注意看模板的说明,不熟悉nginx的也需要补习一下。提示一下,改了config,先用nginx的检查命令校验一下,另外需要重启docker生效,docker里不能重启nginx。

    校验提示文案

    提交
  • 收藏了。。。

    校验提示文案

    提交
  • 自建dns,泛域名证书,还是做不到自动更新

    校验提示文案

    提交
  • 但是在unraid的apps里找不到letsencrypt啊!

    校验提示文案

    提交
    现在叫swag

    校验提示文案

    提交
    收起所有回复
  • 求教,怎样配置文件访问局域网内其他虚拟机或设备?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
235
扫一下,分享更方便,购买更轻松