You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配合ExpressJS运行时如何正确将服务器IP重定向至域名

问题原因

  1. 域名对应的server块中未配置反向代理规则,你使用Express提供动态服务,而当前配置仅会读取/var/www/html路径下的静态文件,无法转发请求到Express服务,导致域名访问失败。
  2. default_server标记配置位置不合理,建议调整到跳转专用的server块实现更通用的IP/未匹配域名跳转逻辑。

调整后的配置

替换你原有Nginx配置为以下内容,注意将proxy_pass的端口改为你实际Express服务监听的端口:

# 处理域名请求的服务块
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;

    location / {
        # 反向代理到本地Express服务
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 处理IP访问/未匹配域名的跳转块
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    return 301 $scheme://example.com$request_uri;
}

生效步骤

  1. 执行命令测试配置合法性:nginx -t,返回success再进行后续操作
  2. 重载Nginx配置生效:systemctl reload nginx
  3. 清理浏览器301永久重定向缓存,或用无痕模式测试效果

你的域名解析配置无需修改,已经符合要求。

内容的提问来源于stack exchange,提问作者nimaomao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:45:00