插件窝 干货文章 如何使用Nginx Proxy Manager实现基于域名的虚拟主机配置

如何使用Nginx Proxy Manager实现基于域名的虚拟主机配置

配置 域名 Nginx 端口 636    来源:    2025-04-11

使用Nginx Proxy Manager实现基于域名的虚拟主机配置

Nginx Proxy Manager (NPM) 是一个基于Web的图形界面工具,用于简化Nginx反向代理服务器的配置。下面是如何使用它来配置基于域名的虚拟主机:

准备工作

  1. 确保已安装并运行Nginx Proxy Manager

    • 可以通过Docker、直接安装等方式部署
    • 默认管理界面通常运行在81端口 (http://your-server-ip:81)
  2. 准备好你的域名并确保DNS解析已指向服务器IP

配置步骤

1. 登录Nginx Proxy Manager

访问管理界面并使用管理员凭据登录:

http://your-server-ip:81

2. 添加代理主机

  1. 点击顶部菜单的"Hosts" > "Proxy Hosts"
  2. 点击"Add Proxy Host"按钮

3. 配置域名和转发

在添加代理主机界面中:

  1. 域名设置:

    • 在"Domain Names"字段输入你的域名 (如 example.comsub.example.com)
    • 可以添加多个域名或通配符域名 (*.example.com)
  2. 转发设置:

    • Scheme: 选择HTTP或HTTPS
    • Forward Hostname/IP: 输入后端服务器的IP或主机名
    • Forward Port: 输入后端服务的端口
    • 可选: 启用"Websocket Support"如果需要
  3. SSL证书:

    • 点击"SSL"选项卡
    • 选择"Request a new SSL Certificate"
    • 勾选"Force SSL"和"HTTP/2 Support"以获得最佳安全性
    • 输入有效的邮箱地址用于证书通知
    • 点击"Save"申请Let's Encrypt证书

4. 高级配置(可选)

  1. 自定义位置:

    • 在"Advanced"选项卡中,可以添加自定义位置路径
    • 例如将/api路径转发到不同的后端服务
  2. 访问控制:

    • 在"Access"选项卡中可以设置基本认证或IP限制
  3. 自定义Nginx配置:

    • 在"Custom Nginx Configuration"中可以添加额外的Nginx指令

5. 保存并测试

  1. 点击"Save"保存配置
  2. 配置通常会在几秒内生效
  3. 访问你的域名测试是否正常工作

多个虚拟主机配置

要配置多个基于域名的虚拟主机,只需重复上述步骤,为每个域名或子域名创建新的代理主机条目。

常见问题解决

  1. 502 Bad Gateway错误:

    • 检查后端服务是否运行
    • 确认转发的主机名和端口正确
    • 检查防火墙是否允许NPM访问后端端口
  2. SSL证书问题:

    • 确保DNS解析已生效
    • 确保80和443端口对外开放
    • 检查域名拼写是否正确
  3. 配置不生效:

    • 在NPM界面点击"Reload Nginx"
    • 检查NPM日志获取更多信息

最佳实践

  1. 为生产环境始终启用HTTPS
  2. 定期备份NPM的配置和数据库
  3. 使用子域名而非路径来区分不同服务
  4. 监控证书到期时间并确保自动续期正常工作

通过Nginx Proxy Manager,你可以轻松管理多个基于域名的虚拟主机,而无需直接编辑Nginx配置文件,大大简化了反向代理的配置过程。