NginxProxyManager可视化管理工具
Nginx-Proxy-Manager可视化工具
简单介绍
它是预构建的docker镜像提供,使您能够轻松地转发到在家里或其他地方运行的网站,包括免费的SSL,而无需对Nginx或Letsencrypt有太多了解。
官方网站: https://nginxproxymanager.com/
安装和启动程序
在安装nginx-proxy-manager前需要提前安装好docker和docker-compose并保证8081443端口未被占用
名称 | 地址 |
docker 安装文档 | |
docker-compose 安装文档 |
在服务器中创nginx-proxy-manager目录
mkdir nginx-proxy-manager进入到nginx-proxy-manager目录中
cd nginx-proxy-manager在nginx-proxy-manager目录中创建docker-compose.yaml文件
nano docker-compose.yamlnginx-proxy-manager/docker-compose.yaml
version:"3"
services:
app:
image:'jc21/nginx-proxy-manager:latest'
restart:unless-stopped
ports:# These ports are in format <host-port>:<container-port>-'80:80'# Public HTTP Port-'443:443'# Public HTTPS Port-'81:81'# Admin Web Port# Add any other Stream port you want to expose# - '21:21' # FTP
environment:DB_MYSQL_HOST:"db"DB_MYSQL_PORT:3306DB_MYSQL_USER:"npm"DB_MYSQL_PASSWORD:"npm"DB_MYSQL_NAME:"npm"# Uncomment this if IPv6 is not enabled on your host# DISABLE_IPV6: 'true'
volumes:-./data:/data
-./letsencrypt:/etc/letsencrypt
depends_on:- db
db:
image:'jc21/mariadb-aria:latest'
restart:unless-stopped
environment:MYSQL_ROOT_PASSWORD:'npm'MYSQL_DATABASE:'npm'MYSQL_USER:'npm'MYSQL_PASSWORD:'npm'
volumes:-./data/mysql:/var/lib/mysql启动nginx-proxy-manager
docker-compose up -d注意:到这里你可以通过http://127.0.0.1:81来访问界面了
默认用户名和密码
Email: admin@example.com
Password: changeme注意:使用此默认用户名登录后,系统将立即要求你修改详细信息和密码
添加代理主机
看起来都是英文,很复杂,但是其实很简单,我们只要用到其中的几个功能即可,这边稍微解释一下:
Domain Names:填我们 Halo 网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上Scheme:默认http即可,除非你有自签名证书Forward Hostname/IP:填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话)Forward Port:填入 Halo 映射出的端口,这边默认是8090Cache Assets:缓存,可以选择打开Block Common Exploits: 阻止常见的漏洞,可以选择打开Websockets Support:WS 支持,可以选择打开Access List: 这个是 NPM 自带的一个限制访问功能,这边我们不管,后续可以自行研究。
申请证书

注意:这样申请证书比较麻烦,需要你一个一个的去申请,那么我们可以通过申请通配符证书(泛域名证书)来解决这个问题
申请通配符证书
申请通配符证书的步骤
halo配合NginxProxyManager:
https://docs.halo.run/getting-started/install/other/nginxproxymanager