使用带有子域的 apache 进行反向代理时出现问题

发布于 2024-12-25 08:36:08 字数 821 浏览 2 评论 0原文

我正在尝试使用代理主机上的子目录 uri 来执行 sintra 应用程序的 mod_proxy 实现。这是我的 apache 代理配置区域:

ProxyRequests Off
ProxyPass /api/ http://127.0.0.1:9292/
ProxyPassReverse /api/ http://127.0.0.1:9292/
ProxyPreserveHost on

我遇到的问题是 sinatra 渲染页面中的链接不会在链接上产生 /api 前缀...例如,当我执行 to(' /some_page') 在 erb 模板中,它给了我

http://www.externalhost.com/some_page

而不是

http://www.externalhost.com/api/some_page

有谁知道如何正确执行此操作生成 url 时将遵循子目录的位置?要运行后端服务器,我只需使用默认值:rackup config.ru,其中我的配置是:

require 'rubygems'
load File.join(File.dirname(__FILE__), 'app.rb')
run App

I am trying to do a mod_proxy implementation of a sintra application using a subdirectory uri on the proxy host. Here is my apache proxy config area:

ProxyRequests Off
ProxyPass /api/ http://127.0.0.1:9292/
ProxyPassReverse /api/ http://127.0.0.1:9292/
ProxyPreserveHost on

The problem I am running into, is that the links within the sinatra rendered page are not resulting in the /api prefix on the links... For example, when I do to('/some_page') within an erb template, it gives me

http://www.externalhost.com/some_page

instead of

http://www.externalhost.com/api/some_page

Does anyone know how to properly do this where the subdirectory will be honored in generating the url? To run the backend server, I'm simply using the default as: rackup config.ru where my config is:

require 'rubygems'
load File.join(File.dirname(__FILE__), 'app.rb')
run App

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲世九天 2025-01-01 08:36:08
ProxyRequests Off
ProxyPass /api/ http://127.0.0.1:9292/api/
ProxyPassReverse /api/ http://127.0.0.1:9292/api/
ProxyPreserveHost on
ProxyRequests Off
ProxyPass /api/ http://127.0.0.1:9292/api/
ProxyPassReverse /api/ http://127.0.0.1:9292/api/
ProxyPreserveHost on
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文