使用1Panel进行反向代理和SSL证书申请
1Panel面板内置了建站功能,可以把容器化的服务简单的进行建站,而其中最重要的就是反向代理和SSL证书申请
何为反向代理
大家一般知道代理(正向代理),我们自己的设备发送访问清求先发给代理服务器,让代理服务器作为中转访问目标服务器,目标服务器返回数据给代理服务器,代理服务器再中转给我们。这样目标服务器看不到我们本机的信息,代理服务器起到了安全保障的作用。
而反向代理是作用在目标服务器上的,服务器为了安全起见,默认只开启80,433,22这几个端口。我们知道,如果通过域名访问服务器(而不是IP:端口),访客只能访问到80端口,相当于只能访问到服务器部署在80端口的一个服务。但是我们不可能只在服务器上部署一个服务,这时候就需要反向代理了。
反向代理的工作原理可以这样理解:Lucas开了一家酒店,大门随时开放,名为二级域名(80端口)。Lucas在酒店里还开设了餐厅,客房,酒吧,KTV等专用房间,这些房间有各自的门禁卡(端口),出于安全考虑,Lucas不能直接把门禁卡(端口号)直接交给客人,所以Lucas让酒店的工作人员(反向代理)专职带领客人前往这些专用房间,并且给专职领路的工作人员起了名字(三级域名)。这样,客人从大门(二级域名/80端口)进入后,有工作人员(反向代理)的带领,不会找不到房间(其他服务)。

SSL证书的必要性
众所周知,一个网站开头有https,http协议与https协议的不同就是,http协议明文传输,传输过程中可能会被心怀不轨之人篡改数据,而https协议中间有了SSL证书的加持,保证了数据的真实性。现在绝大部分浏览器要求网站拥有SSL证书,使用https链接。
SSL证书可以去各大云服务商购买,也可以使用服务器自己申请,我是用的是Let’s Encrypt免费签发的证书她简直和Cloudflare一样善良。Let’s Encrypt签发的SSL证书时效为90天,我们可以通过脚本进行自动续签,后文会有说明。
反向代理及SSL证书使用
事先准备:
- 二级域名
- 一台服务器(已安装反向代理服务,如Nginx Proxy Manager)
- DNS解析商(以Cloudflare为例)
- 良好的网络环境
- 耐心
步骤如下:
在Cloudflare个人资料中找到API 令牌
- 创建令牌,选择DNS模板
- 区域选择全部区域,指向DNS服务商上你解析的二级域名(以我的为例就是lris625.top),客户端IP填入你服务器的公网地址,其他默认
- 点击显示更多摘要,点击创建令牌,保存好生成的令牌值(Token)
- 进入DNS记录,添加你要绑定的二级域名和三级域名A记录,指向服务器的公网地址,关闭小黄云代理
[{"url":"https://pic1.imgdb.cn/item/694f52ea50af9609db821826.webp","alt":"DNS1","title":""},{"url":"https://pic1.imgdb.cn/item/694f52ce50af9609db821712.webp","alt":"DNS2","title":""}]进入Let’s Encrypt注册一个Acme账户
进入1Panel后台,应用商店安装OpenResty
点击网站—证书
- 创建Acme账户,邮箱使用Let’s Encrypt(或其他)注册相同邮箱
- 创建DNS账户,名称随意,类型选择Cloudflare(或其他),Access key=你Cloudflare的注册邮箱,Secret key=第一部中获得的Token
- 点击申请证书,主域名可以填入二级域名,其他域名填入三级域名,也可以三级域名直接填入主域名,Acme和DNS选择上两步设置好的,下方勾选证书自动续签,点击确认,点击申请,等待日志显示证书更新成功
[{"url":"https://pic1.imgdb.cn/item/694f52eb50af9609db82182d.webp","alt":"Acme账户","title":""},{"url":"https://pic1.imgdb.cn/item/694f52ea50af9609db821827.webp","alt":"DNS账户","title":""}]点击网站—网站进行建站
- 如果你的服务来源于1Panel的应用商店,选择一键部署,勾选服务,只需填入域名即可
- 如果你的服务为docker自建,选择反向代理,填入域名后,在代理地址一栏填入127.0.0.1:服务端口
- 如果你的网站是静态的,选择静态网站,在你的服务器OpenResty文件夹下(/opt/1panel/apps/openresty/openresty/www/sites/)上传静态文件,代号一栏输入文件地址;如果你要放在1Panel之外的地址,记得映射文件到OpenResty文件夹下(/opt/1panel/apps/openresty/openresty/www/sites/)
第五步完成后,点击网站的配置选项,找到HTTPS一栏,SSL选择已有证书,Acme账户选择第四步的,证书选择第四步申请好的,点击保存

稍微等候,访问你网站的域名进行验证,或者在Ping网站(ITdog),检测你的域名是否能解析到你服务器的公网地址

补充说明
- 不开始Cloudflare小黄云的原因是,会解析不到正确的服务器地址,小黄云能提供CDN加速和SSL证书,但是亚太地区服务器,对于国内访问都不会太慢,而且上文我们也自己申请了SSL证书
- 宝塔面板和1Panel都提供了简单易操作的建站工具,特别是在SSL证书申请方面,对于没有使用这两种面板的朋友,我的建议是Portainer+Nginx Proxy Manager,Portainer同样是成熟的面板,Nginx Proxy Manager是基于Nginx-core开发的GUI,容易操作
结语
很高兴你能耐心看到这里,我本身并非运维从业者,也并非网络专业,只是比较感兴趣,所以专业知识方面难免不够严谨和赘述,请读者海涵和指正。最后祝你建站顺利!💗





