如何使用Nginx Proxy Manager实现基于域名的虚拟主机配置
使用Nginx Proxy Manager实现基于域名的虚拟主机配置
Nginx Proxy Manager (NPM) 是一个基于Web的图形界面工具,用于简化Nginx反向代理服务器的配置。下面是如何使用它来配置基于域名的虚拟主机:
准备工作
确保已安装并运行Nginx Proxy Manager
- 可以通过Docker、直接安装等方式部署
- 默认管理界面通常运行在81端口 (http://your-server-ip:81)
准备好你的域名并确保DNS解析已指向服务器IP
配置步骤
1. 登录Nginx Proxy Manager
访问管理界面并使用管理员凭据登录:
http://your-server-ip:81
2. 添加代理主机
- 点击顶部菜单的"Hosts" > "Proxy Hosts"
- 点击"Add Proxy Host"按钮
3. 配置域名和转发
在添加代理主机界面中:
域名设置:
- 在"Domain Names"字段输入你的域名 (如
example.com
或 sub.example.com
)
- 可以添加多个域名或通配符域名 (
*.example.com
)
转发设置:
- Scheme: 选择HTTP或HTTPS
- Forward Hostname/IP: 输入后端服务器的IP或主机名
- Forward Port: 输入后端服务的端口
- 可选: 启用"Websocket Support"如果需要
SSL证书:
- 点击"SSL"选项卡
- 选择"Request a new SSL Certificate"
- 勾选"Force SSL"和"HTTP/2 Support"以获得最佳安全性
- 输入有效的邮箱地址用于证书通知
- 点击"Save"申请Let's Encrypt证书
4. 高级配置(可选)
自定义位置:
- 在"Advanced"选项卡中,可以添加自定义位置路径
- 例如将
/api
路径转发到不同的后端服务
访问控制:
- 在"Access"选项卡中可以设置基本认证或IP限制
自定义Nginx配置:
- 在"Custom Nginx Configuration"中可以添加额外的Nginx指令
5. 保存并测试
- 点击"Save"保存配置
- 配置通常会在几秒内生效
- 访问你的域名测试是否正常工作
多个虚拟主机配置
要配置多个基于域名的虚拟主机,只需重复上述步骤,为每个域名或子域名创建新的代理主机条目。
常见问题解决
502 Bad Gateway错误:
- 检查后端服务是否运行
- 确认转发的主机名和端口正确
- 检查防火墙是否允许NPM访问后端端口
SSL证书问题:
- 确保DNS解析已生效
- 确保80和443端口对外开放
- 检查域名拼写是否正确
配置不生效:
- 在NPM界面点击"Reload Nginx"
- 检查NPM日志获取更多信息
最佳实践
- 为生产环境始终启用HTTPS
- 定期备份NPM的配置和数据库
- 使用子域名而非路径来区分不同服务
- 监控证书到期时间并确保自动续期正常工作
通过Nginx Proxy Manager,你可以轻松管理多个基于域名的虚拟主机,而无需直接编辑Nginx配置文件,大大简化了反向代理的配置过程。