简介
创建这个项目是为了满足个人需求,为用户提供一种简单的方法来完成具有 SSL 终止的反向代理主机,它必须非常简单。虽然可能有高级选项,但它们是可选的,并且项目应该尽可能简单,以便进入这里的门槛很低。
特性
- 基于Tabler的美观安全的管理界面
- 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机
- 使用 Let’s Encrypt 的免费 SSL 或提供您自己的自定义 SSL 证书
- 主机的访问列表和基本 HTTP 身份验证
- 高级 Nginx 配置可供超级用户使用
- 用户管理、权限和审计日志
- 托管您的家庭网络
服务器购买推荐:
点击直达 腾讯云服务器
点击直达 海外服务器
点击直达 阿里云服务器
甲骨文重装系统
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -d 11 -v 64 -a -firmware -p 123456
更新系统环境
apt update -y && apt install -y curl && apt install -y socat && apt install wget -y
安装sudo
apt-get install sudo
安装BBR PLUS 四合一脚本(可选)
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
安装 Docker
sudo apt install docker.io -y && sudo apt install docker-compose
自启动docker
sudo systemctl enable --now docker
- 安装
Docker、Docker-compose:相关教程
开始搭建
创建目录并进入目录
cd /root/
mkdir nginx
cd nginx
创建docker-compose.yml的文件
nano docker-compose.yml
复制代码进入文件中
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: 3306
DB_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
crl+x 然后y 然后回车退出编辑模式。
启动
docker-compose up -d
登陆方式 http://ip:81

默认用户名密码
Email: admin@example.com
Password: changeme

设置用户名 & 邮箱
登录第一个页面就是设置用户名和邮箱,根据自己的情况来修改用户名和邮箱。

修改登录密码
第一个输入框是输入当前密码,也就是:changeme

添加证书
打开SSL Certificates,然后点击 Add SSL Certificate

等待成功

申请成功
申请成功后,可以看到有一个SSL证书列表在这里,并且在右边可以看到申请时间。

反向代理服务
什么时候用到反向代理?
我们使用Docker部署服务的时候,一般就使用到了反向代理了。
添加代理服务
进入代理主机服务

开放端口
这里开放端口,只需要开放服务器的防火墙端口,服务器的安全组不需要开放端口,这是因为在使用Nginx Proxy Manager代理Docker服务时,NPM会将流量从指定的端口转发到相应的Docker容器,如果你的服务器的防火墙没有相应端口开放,请求将无法到达docker容器,从而导致反向代理功能无法正常工作。
比如我上面反向代理docker服务的5350端口,那么我就要在服务器开放5350端口,开放这个端口其实倒也不需要太担心安全问题,只要你不在服务器商的安全组开放端口就好了吗,服务器的端口依然不会被外部访问。
自定义配置
如果你需要自定义Nginx配置,你可以在你需要的主机中,打开Advanced自定义配置,比如下面,我做一个简单的location配置。



评论区