相关疑难解决方法(0)

如何使用反向代理正确处理相对 url

我在 Apache 中有如下反向代理设置:

地址为 www.example.com/folder 的服务器 A 是反向代理服务器。

它映射到:地址为 test.madeupurl.com 的服务器 B

这种作品。但我遇到的问题是,在 www.example.com/folder 上,所有相关链接的形式都是 www.example.com/css/examplefilename.css 而不是 www.example.com/folder/css/examplefilename。 css

我该如何解决?

到目前为止,我的反向代理在服务器 A (www.example.com) 上有这个:

<Location /folder>
    ProxyPass  http://test.madeupurl.com
    ProxyPassReverse http://test.madeupurl.com
</Location>
Run Code Online (Sandbox Code Playgroud)

linux reverse-proxy apache-2.2

66
推荐指数
3
解决办法
17万
查看次数

NginX:在子路径下提供应用程序服务

我有多个单页应用程序,每个应用程序都在主目录下自己的容器中运行,这非常简单。

现在我想使用不同的路径路由到同一 dns 条目下的这些应用程序,例如:

domain.com      -> defaultAppContainer
domain.com/app1 -> container1
domain.com/app2 -> container2
Run Code Online (Sandbox Code Playgroud)

我没有在路由期间重写路径的选项,因此我希望 Nginx 能够分别侦听路径/app1/app2从那里正确地为应用程序提供服务。目前我所尝试的一切都会导致错误。

我考虑过两种可能性:

  • 使用类似的东西代理到 home 的子路径
    location /app1 {
      proxy_pass $host/;
    }
    
    Run Code Online (Sandbox Code Playgroud) 但这似乎不适用于前端,我假设请求中的某些路径混乱了。
  • 提供子路由下的所有文件,例如:
    location /app1 {
      alias root /usr/share/nginx/html/;
    }
    
    Run Code Online (Sandbox Code Playgroud) 其中别名指向构建的 Web 应用程序的基本目录。这给了我一个CONN_RESET错误。

此外,简单地使用 307 重定向也不是一种选择,因为这会导致客户端在没有路径的情况下调用基本 URL,然后将其路由到默认应用程序。

nginx proxy

0
推荐指数
1
解决办法
8878
查看次数

标签 统计

apache-2.2 ×1

linux ×1

nginx ×1

proxy ×1

reverse-proxy ×1