问题标签 [proxypass]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - 使用 https 和虚拟主机为 nginx 设置自定义错误页面
(从服务器故障交叉发布)
我们有一个 nginx (OpenResty 1.4.2.7) 实例充当负载均衡器。它有两个服务器指令,一个服务于一个特定站点(我们称之为 www.our-special-host.com),一个通配符用于其他所有内容。我们正在尝试对其进行配置,以便根据两个服务器指令的后端中的哪一个已关闭来显示不同的 502 错误页面。
我们的配置适用于 HTTP,但不适用于 HTTPS。如果我们关闭后端并点击 www.our-special-host.com,我们会得到 HTTP 和 HTTPS 的相应错误。但是,如果我们访问任何其他托管站点,我们会得到正确的 HTTP 错误页面,但对于 HTTPS,我们会得到 www.our-special-host.com 的错误页面。
这是我们的配置(稍作编辑):
(所有相关主机都是XXX.ourdomain.com,证书是*.ourdomain.com。)
我们还尝试向第二个服务器块添加一个明确的包罗万象的正则表达式,即。
行为仍然是错误的,但不同的是错误:
- 带有http的“特殊”站点:我们得到错误的错误页面 loadbalancer_502_on_other_hosts.html
- 带有https的“特殊”站点:我们得到正确的错误页面 loadbalancer_502_on_special_host.html
- 带有http的“非特殊”站点:我们得到正确的错误页面 loadbalancer_502_on_other_hosts.html
- 带有https的“非特殊”站点:我们得到正确的错误页面 loadbalancer_502_on_other_hosts.html
apache2 - 将 Apache2 替换为 Varnish 作为反向代理
我在为 Varnish ACL 替换 Apache2 反向代理规则时遇到了一些麻烦。
阿帕奇规则是:
我的清漆 ACL:
这导致客户端的 URL 更改为“/OtherSite”,这是我不希望发生的。在这种情况下,当用户输入http://www.myhost.com/MySite时,响应会将用户的浏览器重定向到http://www.myhost.com/OtherSite。我希望这种“重定向”只发生在清漆后端请求上,具有与 Apache 的 ProxyPass 相同的行为。
我怎样才能做到这一点?
谢谢
nginx - Nginx 做一个 proxy_pass 来完成 URL
我的 servlet 正在发送一个带有完整 URL 的 X-Accel-Redirect,例如 /cached/ http://example.com/test/index.html。它必须是完整的 URL,因为我们的业务逻辑决定了资源在网络上的位置。
我希望 nginx 从http://example.com/test/index.html下载内容,并像它来自原始 URL 请求一样提供服务。因此,我不想进行重写(或重定向)。我正在尝试下面提到的conf,但它不起作用。
有什么方法可以使用匹配 URI 中的绝对 URL 并对其执行 proxy_pass 吗?提前致谢。
apache - ProxyPass 到内部主机和自定义不可用消息
我有一个学校服务器,可以通过特定域名从互联网访问。我设法从内部本地网络建立到主机的代理传递,以使库 OPAC 可用:
它工作正常,但我希望能够检测此主机是否正在运行(它不能 24/7 运行),如果没有,则显示一条消息,以便用户不会对“无法访问服务器”感到困惑错误。
我可以仅使用 Apache 指令来完成此操作吗?
nginx - 带有子文件夹的 nginx proxy_pass 域到 localhost,端口为 test.com/test 到 localhost:9001
我正在尝试让 nginx 通过
至
我是 nginx 新手,并在以下方面取得了成功:
现在我可以将我的域传递到端口 9001。现在我想以这种方式进行调整,我可以将 your-domain.com/test 传递给 localhost:{9001}。这可能吗?我必须改变什么?
我试过了
两者都没有成功。
apache - 当默认虚拟主机不可用时,没有虚拟主机可用
我有一个 apache2 实例代理对几个 tomcat 实例的请求。有时默认虚拟主机没有响应(tomcat 正在运行但应用程序没有响应)。发生这种情况时,其他虚拟主机都无法通过 apache 访问,但它们可以直接访问 tomcat。默认虚拟主机是否应该是静态页面以避免此问题?如果它没有响应,是否有任何其他设置告诉 apache 跳过默认设置?
在 httpd.conf 中,virutalhost 块之外有 proxypass/proxypassreverse 语句。我不知道这是否会使事情变得混乱。
ProxyPass /test/ ajp://localhost:9009/test/
ProxyPassReverse /test/ ajp://localhost:9009/test/
ProxyPass /test2/ ajp:/localhost/9010/test2/
ProxyPassRevers /test2/ ajp://localhost :9010/test2/
名称虚拟主机 192.168.0.1:80
VirtualHost 192.168.0.1:80>
ServerName test.domain.com
ProxyPreserveHost On
ProxyRequests Off
...
ProxyPass / ajp://localhost:9009/test/
ProxyPassReverse / ajp://localhost:9009/test/
...
/虚拟主机>
VirtualHost 192.168.0.1:80>
ServerName test2.domain.com
ServerAlias test2
PorxyPreseveHost On
ProxyRequests Off
...
ProxyPass / ajp://localhost:9010/test2/
ProxyPassReverse / ajp://localhost:9010/test2/
...
/虚拟主机>
Solaris 10 Apache 2.2.6 mod_proxy_ajp
regex - 使用 nginx proxy_pass 修改 Location 标头
我有一个 nginxproxy_pass
设置,可以将每个请求传递/api
到后端 Tomcat REST 服务。在某些情况下,该服务会返回一个Location
根据请求类型而变化的标头,例如,Location: http://foo.bar/baz/api/search/1234567
这baz
部分是由于它托管在 Tomcat 上。
我当前的配置正确地重写了foo.bar
主机名,但保持baz
部分完好无损。我想去掉这个,但 proxy_pass 选项似乎仅限于清除或设置标题的新值。
有没有办法在传递给客户端之前动态修改标头,例如使用正则表达式替代?这是我的 nginx 配置:
nginx - Nginx 重写根 url
我使用的是 nginx 代理,并试图用我的服务器 url 替换基本 url。例如,我想www.google.com
通过我的代理localhost:8000
,并将所有基本 url 实例 ( www.google.com
) 替换为 ( localhost:8000
)。
我的 nginx.conf 到目前为止:
java - Apache ProxyPass Tomcat
我在同一台机器上的 Apache 和 Tomcat 服务器遇到了一些问题。我想将虚拟主机 kb.domain 重定向到 tomcat 应用程序 kb。
我在互联网上阅读了一些帖子,但我没有找到解决问题的方法。
我的配置有一个 Apache 服务器 ( http://domain
),在同一台机器上有一个 tomcat 服务器 ( http://domain:8080
);在我的 Apache 中,我映射了一个响应kb.domain
如下的 VirtualHost:
当我从浏览器调用 kb.domain url 时,他在末尾添加了一个额外的 / 并进入重定向循环。
谁能帮我?
谢谢
php - 默认 SSL 和 ProxyPass 使用自己的 SSL 重定向到另一个域(在另一台计算机上)
问题是是否可以在启用了 apache2、ProxyPass 和 SSL 的 Ubuntu 上进行以下操作:
我有主服务器,假设它的域是
http://domain.com
- 工作正常我已使用证书启用 SSL
domain.com
并且www.domain.com
工作https://domain.com
正常默认情况下,我有 2 个 conf 文件
/etc/apache2/sites-enabled
-000-default
处理 *.80 虚拟主机和default-ssl
处理 *.443 虚拟主机。在第二个文件中,我指定了所有证书文件domain.com
在
000-default
我有 ProxyPass 设置重定向到服务器处理subdomain.domain.com
本地计算机 192.168.0.100 上的域 - 工作正常我在 192.168.0.100 上安装了
subdomain.domain.com
. 如果我将浏览器指向https://subdomain.domain.com
它会发出警告,因为它会加载domain.com
.
如何使请求https://subdomain.domain.com
转移到 192.168.0.100 并加载它的文件(对于https://subdomain.domain.com
)?