反向代理将 HTML 链接内容作为 404 提供

反向代理将 HTML 链接内容作为 404 提供

我已设置此反向代理来路由在端口(例如 61185)上提供的简单网页。example.net:61185我不想查询,而是希望使用example.net/listing

配置如下:

server {
  listen 80;
  server_name example.net;
  location /listing {
    proxy_pass http://127.0.0.1:61185/;
  }
}

html 加载正常,但在获取其中链接的 css 时出现 404。我注意到 URI 是http://example.net/styling.css我怎样才能使 css 也带有后缀/listing

答案1

您遇到的问题是,HTML 页面中链接的 CSS 资源的 URL 未被重写以包含 /listing 前缀,因此浏览器从错误的位置请求它们。尝试以下代码块:

server {
  listen 80;
  server_name example.net;
  location /listing {
    proxy_pass http://127.0.0.1:61185/listing;
    proxy_redirect /listing /;
  }
}

相关内容