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

server/2024/10/18 12:22:10/

本文介绍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-stoppedports:- '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 的反向代理

首先登录网页端之后,会弹出修改用户名和密码的对话框,根据自己的实际来修改自己的用户名和邮箱。

保存之后,会让我们修改密码(建议用一个复杂的密码)。

接着我们就可以来给 Halo 来添加一个反向代理了,点击Proxy Hosts.

接着点击Add Proxy Host,弹出如下对话框:

参数解释:

参数名描述
Domain Names填我们 Halo 网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上
Scheme默认 http 即可,除非你有自签名证书
Forward Hostname/IP填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话)
Forward Port填入 Halo 映射出的端口,这边默认是 8090
Cache Assets缓存,可以选择打开
Block Common Exploits阻止常见的漏洞,可以选择打开
Websockets SupportWS 支持,可以选择打开
Access List这个是 NPM 自带的一个限制访问功能,后续可以自行研究

申请SSL证书

NPM支持申请SSL证书,证书会三个月自动续期,使得网站支持https访问。申请证书需要你提前将域名解析到NPM所在的服务器的IP上。


成功申请到SSL证书后。再次点开配置,查看一下,将强制SSL打开。

到这里,就大功告成了,完成了Halo的反向代理。

原文地址:使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书


http://www.ppmy.cn/server/93289.html

相关文章

Git原理与用法系统总结

目录 Reference前言版本控制系统Git的诞生配置Git配置用户名和邮件配置颜色配置.gitignore文件 Git的基础用法初始化仓库克隆现有的仓库添加暂存文件提交变动到仓库比较变动查看日志Git回退Git重置暂存区 Git版本管理重新提交取消暂存撤销对文件的修改 Git分支Git分支的优势Git…

蓝桥杯 2024 年第十五届省赛真题 —— 最大异或结点

目录 1. 最大异或结点1. 问题描述2. 输入格式3. 输出格式4. 样例输入5. 样例输出6. 样例说明7. 评测用例规模与约定 2. 解题思路1. 解题思路2. AC_Code 1. 最大异或结点 1. 问题描述 小蓝有一棵树,树中包含 N N N 个结点,编号为 0 , 1 , 2 , ⋯ , N − 1 0,1,2,…

谷粒商城实战笔记-71-商品服务-API-属性分组-前端组件抽取父子组件交互

文章目录 一,一次性创建所有的菜单二,开发属性分组界面1,左侧三级分类树形组件2,右侧分组列表3,左右两部分通信3.1 子组件发送数据3.2,父组件接收数据 Vue的父子组件通信父组件向子组件传递数据子组件向父组…

PHP反序列化漏洞从入门到深入8k图文介绍,以及phar伪协议的利用

文章参考:w肝了两天!PHP反序列化漏洞从入门到深入8k图文介绍,以及phar伪协议的利用 前言 本文内容主要分为三个部分:原理详解、漏洞练习和防御方法。这是一篇针对PHP反序列化入门者的手把手教学文章,特别适合刚接触PH…

npm提示 certificate has expired 证书已过期 已解决

在用npm新建项目时,突然发现报错提示 : certificate has expired 证书已过期 了解一下,在网络通信中,HTTPS 是一种通过 SSL/TLS 加密的安全 HTTP 通信协议。证书在 HTTPS 中扮演着至关重要的角色,用于验证服务器身份并加密数据传输…

C语言典型例题19

《C程序设计教程(第四版)——谭浩强》 例题2.7 检查浮点型数据的舍去误差 C语言知识: 浮点数在C语言用有两个类型,有float和double类型,其中double类型的数据精度更高 解题思路: 可以将一个double类型的…

完美解决原生小程序开发版的时候,获取定位正常,体验版与线上版本获取不到位置信息

问题描述:我的小程序在本地无论是预览还是真机测试,获取位置信息都是正常的,但是当我发布为体验版或者线上版本的话,就会提示获取位置失败(这里只是我自己遇到的对应问题) 原因分析: 第一&#…