新人下载app,立即提现现金 您的好友 送你现金 去提现

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

人生观2019 08-18 22:22 关注

前言:

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服务器没有密码验证的问题。

结尾:

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

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

未经授权,不得转载

展开阅读全文

查看更多好文内容,新用户限时领现金
全部评论 (8)
值友4175843727
1
08-19 00:05

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

Walker-J
0
10-29 15:22
eMuzi: 但是在unraid的apps里找不到letsencrypt啊! 1

现在叫swag

eMuzi
0
10-09 11:23

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

jujusoft
0
08-19 14:02

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

值友6142760206
0
08-19 01:38

收藏了。。。

yusurvival
0
08-19 00:37
值友4175843727: 你好,想请教下,最近准备搭建unRAID,小白,也有腾讯云域名,这个有什么用途吗? 1

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

yusurvival
0
08-19 00:33
值友4175843727: 你好,想请教下,最近准备搭建unRAID,小白,也有腾讯云域名,这个有什么用途吗? 1

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

yusurvival
0
08-18 23:31

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

打开App,查看更多好文和评论
值得买爆款低价
爆款商品抄底,APP内抢购!

市场价
值得买APP专享价
最新虚拟产品优惠
华为云 上云嘉年华活动 域名注册特惠
华为云 上云嘉年华活动 域名注册特惠
域名1元/年起、.com仅需18元/年
华为商城 11-25
2 33%
中国联通 未来会员PLUS版 98元/年 六大特权震撼来袭
中国联通 未来会员PLUS版 98元/年 六大特权震撼来袭
一卡承包九大视听会员每月随心换
中国联通网上营业厅 11-25
161 13%
抖音、头条免流卡:中国联通 大歪卡 每月畅享300分钟+10G通用+40G专属流量
抖音、头条免流卡:中国联通 大歪卡 每月畅享300分钟+10G通用+40G专属流量
0元包邮
中国联通网上营业厅 11-25
485 14%
百度网盘 超级会员 年卡 + 百度文库 年卡
百度网盘 超级会员 年卡 + 百度文库 年卡

海量资料 官方激活码

238.8元包邮(需用券)
天猫精选 11-25
35 3%
查看更多
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
20
171
8
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索