欢乐狗 发表于 2024-7-30 16:55:19

利用Nginx Proxy Manager设置Halo的反向代理和申请 SSL 证书

本文介绍Nginx Proxy Manager设置Halo的反向代理和申请 SSL 证书,如必要了解Halo 2的安装,参考如安在Linux云服务器上通过Docker Compose摆设安装Halo,搭建个人博客网站?。

目录

[*]安装Nginx Proxy Manager

[*]Nginx Proxy Manager安装
[*]新建docker-compose.yaml
[*]启动NPM

[*]设置 Halo 的反向代理
[*]申请SSL证书

安装Nginx Proxy Manager

Nginx Proxy Manager安装

Nginx Proxy Manager就是一个 Nginx 的代理管理器。没有Nginx基础的小伙伴,也能轻松地用它来完成反向代理的操作,而且因为自带面板,操作极其简单,非常得当共同 docker 搭建的应用利用。
安装了 NPM 之后,就不必要再安装 Nginx 了,否则会端口冲突(不建议修改 NPM 的 80、443 端口)。假如你的服务器安装了宝塔面板,也可以和 NPM 一起利用,只要你到软件后台把宝塔安装的 Nginx 关闭或者卸载即可。
新建docker-compose.yaml

我们创建一个文件夹来存放 NPM 的 docker-compose.yaml 文件:
mkdir -p ~/data/docker_data/nginxproxymanager   # 创建一个 npm 的文件夹

cd ~/data/docker_data/nginxproxymanager    # 进入该文件夹

vi docker-compose.yml在英文状态的输入法下,按下 i,左下角出现 --INSERT-- 后,粘贴填入下面的内容:
version: '3'
services:
app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'            # 不建议修改端口
      - '81:81'            # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
      - '443:443'            # 不建议修改端口
    volumes:
      - ./data:/data         # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
      - ./letsencrypt:/etc/letsencrypt# 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建启动NPM

docker-compose up -d利用 http://127.0.0.1:81 就可以访问 NPM 的网页端了,默认登录的用户名:admin@example.com 密码:changeme。第一次登录会提示更改用户名和密码,建议修改一个复杂一点的密码。
设置 Halo 的反向代理

首先登录网页端之后,会弹出修改用户名和密码的对话框,根据自己的现实来修改自己的用户名和邮箱。
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160340886-1708494816.png
保存之后,会让我们修改密码(建议用一个复杂的密码)。
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160343539-1906728387.png
接着我们就可以来给 Halo 来添加一个反向代理了,点击Proxy Hosts.
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160341384-265767108.png
接着点击Add Proxy Host,弹出如下对话框:
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160342609-1973083867.png
参数解释:
参数名描述Domain Names填我们 Halo 网站的域名,首先记得做好 DNS 剖析,把域名绑定到我们的服务器的 IP 上Scheme默认 http 即可,除非你有自署名证书Forward Hostname/IP填入服务器的 IP,或者 Docker 容器内部的 IP(假如 NPM 和 Halo 搭建在同一台服务器上的话)Forward Port填入 Halo 映射出的端口,这边默认是 8090Cache Assets缓存,可以选择打开Block Common Exploits阻止常见的漏洞,可以选择打开Websockets SupportWS 支持,可以选择打开Access List这个是 NPM 自带的一个限制访问功能,后续可以自行研究申请SSL证书

NPM支持申请SSL证书,证书会三个月自动续期,使得网站支持https访问。申请证书必要你提前将域名剖析到NPM所在的服务器的IP上。
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160340484-113605858.png
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160342325-1100124911.png
成功申请到SSL证书后。再次点开设置,查看一下,将强制SSL打开。
https://img2024.cnblogs.com/blog/658970/202407/658970-20240730160345438-678104680.png
到这里,就大功告成了,完成了Halo的反向代理。
原文地址:利用Nginx Proxy Manager设置Halo的反向代理和申请 SSL 证书

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 利用Nginx Proxy Manager设置Halo的反向代理和申请 SSL 证书