我正在尝试使用 Nginx 作为反向代理来为两个容器提供服务。这是我的 Nginx conf 文件的一部分:
upstream dashboard {
server dashboard:80;
}
upstream editor {
server editor:80;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://dashboard;
}
location /editor/ {
rewrite ^/editor(.*)$ $1 break;
proxy_pass http://editor;
}
Run Code Online (Sandbox Code Playgroud)
当我导航到浏览器中的 url 时,我收到 404 错误/editor,因为该页面正在提交对驻留在上游容器“editor”中的静态资源的请求。
我对 Nginx 还很陌生,但我推测当它收到带有 url 的请求时:
http://example.com/static/css/2.3d394414.chunk.css
Nginx 无法知道相应的 css 位于editor容器内部。我该如何修改配置来解决这个问题?我已经看到一些配置为任何静态资产提供了通用路径,但我需要一个可以处理 docker 容器内资产的解决方案。