Skip to content

反向代理之后的静态文件路径问题 #463

@hsxiaoma

Description

@hsxiaoma

在生产环境部署时,我们经常使用 nginx 反向代理我们的 nodejs 程序,如下:

location /uc/{  
  rewrite /uc/(.*) /$1 break;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-NginX-Proxy true;
  proxy_http_version 1.1;
  proxy_pass http://172.16.0.10:7001/;
  proxy_redirect off;
} 

经测试,使用这种 rewrite /uc/(.*) /$1 break; 是可以解决 eggrouter 的问题

但是无法解决静态资源引用的问题。 请教 EGG 中如何解决?

express 的解决方案如下:

node + express app.js

// 静态文件目录
var staticDir = path.join(__dirname, 'public');
app.enable('trust proxy');
app.use('/public', express.static(staticDir)); 

views/login.html

<link rel="stylesheet" href="public/libs/bootstrap/css/bootstrap.min.css">

以上注意静态资源引用没有使用 /public/ 而是使用的 public/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions