Nginx:静态资产路径无法通过反向代理正确呈现

Nginx:静态资产路径无法通过反向代理正确呈现

我在配置反向代理以将用户从 带到http://localhost/nexus/时遇到了困难http://localhost:8081/

我现在的nginx.conf样子是这样的:-

worker_processes 4;

events { 
    worker_connections 1024; 
}

http {
    server {
        listen 80;

        location /nexus/ {
            proxy_pass         http://localhost:8081/;

            proxy_redirect          off;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

当我点击时http://localhost/nexus/,它会部分呈现页面。

当我检查 HTML 源代码时,我注意到 javascript 链接、图像链接和样式表链接构造不正确。

例如,我看到的是这样的:-

<link rel="stylesheet" type="text/css" href="http://localhost/static/rapture/resources/loading-prod.css?_v=3.3.1-01">
<script type="text/javascript" src="http://localhost/static/rapture/baseapp-prod.js?_v=3.3.1-01"></script>
<img id="loading-logo" src="http://localhost/static/rapture/resources/images/loading-logo.png?_v=3.3.1-01"/>

...但是,应该是这样的:-

<link rel="stylesheet" type="text/css" href="http://localhost/nexus/static/rapture/resources/loading-prod.css?_v=3.3.1-01">
<script type="text/javascript" src="http://localhost/nexus/static/rapture/baseapp-prod.js?_v=3.3.1-01"></script>
<img id="loading-logo" src="http://localhost/nexus/static/rapture/resources/images/loading-logo.png?_v=3.3.1-01"/>

我该如何才能nginx.conf正确呈现页面的其余部分?

非常感谢。

答案1

您需要配置您的nginx以直接提供静态文件:

location /static {
  root /path/to/static/files;
}

nginx进程需要static对子树及其父目录中的所有文件具有读取权限。

答案2

我遇到了同样的错误并解决了它:

  1. 将上下文根从“ /”更改为“ /nexusnexus/conf/nexus-default.properties并重新启动
  2. 相应地更改 URLnginx并重新启动

相关内容