- 用户友好的界面:NPM的用户界面非常直观,允许用户轻松创建和管理代理主机和路由规则,而无需手动编辑Nginx配置文件。
- SSL证书管理:NPM可以自动为每个代理主机生成和维护SSL/TLS证书,确保你的网站可以通过HTTPS进行加密访问。
- 多域名支持:你可以为一个Nginx Proxy Manager实例管理多个域名和虚拟主机,统一集中管理多个网站的反向代理规则。
- 身份验证和访问控制:NPM支持访问控制列表(ACL)和基本身份验证,允许你限制对代理的访问。
- 日志和监控:NPM提供了详细的请求日志,以帮助你监视流量和检查问题。
- 自动HTTP到HTTPS重定向:NPM可以自动将HTTP请求重定向到HTTPS,以增强网站的安全性。
- Docker容器化:NPM以Docker容器的形式提供,可以轻松部署到Docker环境中,简化了安装和管理过程。
- 多种代理支持:NPM支持代理到各种后端服务,包括Web应用、API、和其他网络服务。
- 添加
Proxy Host
- 填写域名以及服务器和端口,记得打开
Block Common Exploits
- 保存
- 再点击域名旁边三点,进行编辑,准备申请SSL证书。
- 打开
Force SSL
和Agree to the Let's Encrypt Terms of Service
保存即可。 - 现在CloudFlare域名管理网站对域名进行解析,ping通后再申请
- 申请前不要打开CloudFlare小云朵,否则可能会申请失败
- 在宝塔等面板使用工具进行网站搭建,可能会申请失败,直接在宝塔面板工具处申请SSL证书即可
使用docker compose进行Nginx Proxy Manager部署反向代理
使用docker compose进行Nginx Proxy Manager部署反向代理详细教程
Nginx Proxy Manager简介
Nginx Proxy Manager(NPM)是一个基于Nginx的开源工具,用于简化和管理反向代理服务器和虚拟主机的配置。它提供了一个用户友好的图形用户界面(GUI),使用户能够轻松设置和管理代理规则,同时无需深入了解Nginx的配置细节。
主要特点和功能:
Nginx Proxy Manager是一个非常有用的工具,特别适合那些需要在Nginx服务器上设置反向代理的用户,而不想深入了解Nginx配置的细节。在本博客文章中,详细介绍如何使用Nginx Proxy Manager来轻松部署反向代理,以及它的一些核心功能和用例。
安装部署
安装docker compose
首先连接服务器,输入下列代码检查是否已安装docker compose。
docker-compose --version
如何返回类似Docker Compose version v2.17.3
即表示已经安装好docker compose。
如果没有安装,则输入下列代码安装。
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
这将从 Docker Compose 的官方 GitHub 存储库下载二进制文件并保存在 /usr/local/bin
目录中。
添加执行权限: 使用以下命令添加执行权限:
sudo chmod +x /usr/local/bin/docker-compose
验证安装: 运行以下命令来验证 Docker Compose 安装:
docker-compose --version
安装部署NPM
先检查81端口是否被占用
lsof -i:81
如果什么都没有返回,说明没有占用,如果有返回则说明端口已经被占用。
如果返回-bash: lsof: command not found
那么先安装lsof,再进行检查81端口。
apt install lsof #安装 lsof
首先在/root/docker-data
文件夹下面新建npm文件夹,以后docker 文件都放置/docker-data
文件夹下,方便统一管理。
mkdir -p /root/docker-data/npm
前往npm文件夹
cd /root/data/docker_data/npm
新建vim docker-compose.yml文件
vim docker-compose.yml
切换到英文输入法按下i
,粘贴下面内容端口为81,也可以改成其他端口,但是只能修改81:81
左边的81!改为未占用的端口。
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
按一下 esc
,然后输入 :wq
保存退出。
放行81(或者你自己改的端口)
ufw allow 81
如果返回ufw command not found
就先安装ufw。
sudo apt install ufw
如果购买的网页上也有防火墙,记得也要打开(Azure,AWS,腾讯云,阿里云)。
现在就可以通过http://ip:81
(或者你自己改的端口)进行访问桌面 Nginx Proxy Manager。
初始邮箱密码如下:
Email: [email protected]
Password: changeme
进入之后修改自己的邮箱账号、密码和昵称。
开始进行反向代理
申请完成之后,就可以通过域名进行访问了。
注意: