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

Nginx配置疑问:双Node实例场景下Site2无法访问自有静态目录

解决Nginx配置让Site2访问自身静态资源的方法

当前你的/static/路径全部代理到了Site1的Node实例(3000端口),要让Site2能访问自身的静态资源,有两种常用方案,可根据实际情况选择:

方案1:直接映射Site2的本地静态文件目录

如果Site2的静态资源存放在服务器本地(比如/home/username/site2/public/目录),新增一个location规则专门处理Site2的静态请求:

location /site2/static/ {
    alias /home/username/site2/public/;
    expires 30d; # 可选,给静态资源设置缓存提升访问速度
    add_header Cache-Control "public, max-age=2592000";
}
  • 这里用alias而非root,因为alias会把/site2/static/前缀替换成指定目录路径,比如请求/site2/static/css/style.css时,Nginx会读取/home/username/site2/public/css/style.css,匹配静态文件的目录结构。

方案2:代理到Site2的Node实例处理静态请求

如果Site2的Node实例(3001端口)本身负责处理/static/路径的请求,配置对应的代理规则:

location /site2/static/ {
    proxy_pass http://localhost:3001/static/;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    # 若不需要WebSocket支持,可去掉Upgrade相关头配置
}

修改后的完整Nginx配置示例

root /home/username/;
index index.html index.htm index.nginx-debian.html;
server_name siteurl.com;

location / {
    root /home/username/web/;
}

location /site1/ {
    proxy_pass http://localhost:3000/site1/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

location /site2/ {
    proxy_pass http://localhost:3001/site2/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

# Site1的静态资源路径
location /static/ {
    proxy_pass http://localhost:3000$request_uri;
}

# 新增Site2的静态资源处理规则(二选一)
# 方案1:本地文件映射
location /site2/static/ {
    alias /home/username/site2/public/;
    expires 30d;
    add_header Cache-Control "public, max-age=2592000";
}

# 方案2:代理到Site2的Node实例
# location /site2/static/ {
#     proxy_pass http://localhost:3001/static/;
#     proxy_http_version 1.1;
#     proxy_set_header Host $host;
# }

配置修改后,执行nginx -t检查配置合法性,确认无误后执行systemctl reload nginx让配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:57:35