它是可配置的吗?我是否可以设置 Tomcat,以便具有 200K 查询参数的 URL 成功通过包含的 servlet?
是的,我知道当你有大量数据时应该使用 POST;在这种特殊情况下,这是一个不太愉快的选择。包含的应用程序(搜索引擎)需要 GET 请求来执行搜索。
关于 HAProxy reqrep 的真正快速问题。我正在尝试重写/替换发送到后端的请求。
我有以下示例域和 URI,它们共享相同的域名,但后端 Web 服务器池不同。
http://domain/web1
http://domain/web2
Run Code Online (Sandbox Code Playgroud)
我希望 web1 转到后端 webfarm1,而 web2 转到 webfarm2。目前这确实发生了。但是,当请求发送到后端时,我想去掉 web1 或 web2 URI。
这是我的 haproxy.cfg
frontend webVIP_80
mode http
bind :80
#acl routing to backend
acl web1_path path_beg /web1
acl web2_path path_beg /web2
#which backend
use_backend webfarm1 if web1_path
use_backend webfarm2 if web2_path
default_backend webfarm1
backend webfarm1
mode http
reqrep ^([^\ ]*)\ /web1/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1 10.0.0.10:80 weight 5 check slowstart 5000ms
server …Run Code Online (Sandbox Code Playgroud) 我正在设置一个反向代理配置,其中路径以“/apps/”开头的所有请求都应该由 Apache 代理到 Tomcat。这个 IMO 有两个好处:它可以只为 URI 空间的“/apps/”部分保留代理,并且只对所有 Tomcat 应用程序使用一个代理规则(即对任何 Tomcat 应用程序的请求应该从'/应用/')。
例如,对http://mydomain/apps/my_app/ 的请求应该被代理到http://localhost:8082/my_app/。请注意 Tomcat URI 中没有“/apps/”前缀:“my_app”位于 ${CATALINA_HOME}/webapps/my_app 的常规位置。
我在 Apache vhost.conf 文件中使用以下代理规则实现了这一点:
ProxyPreserveHost on
ProxyPass /apps/ http://localhost:8082/
ProxyPassReverse /apps/ http://mydomain/
Run Code Online (Sandbox Code Playgroud)
(注意:我使用了 ProxyPreserveHost,因为我的 Tomcat 应用程序需要访问原始主机以生成更多链接)。一切顺利,除了由我的 Tomcat 应用程序的一部分生成的绝对链接。鉴于上述配置,我的 Tomcat 应用程序将“看到”这个请求:http://mydomain/my_app,因此生成没有“/apps/”前缀的链接,应该触发这些链接的代理。
我花了一些时间,但我现在明白这是代理的基本特征,并且没有“标准”方式将原始请求的“/apps/”前缀传递给代理应用程序。因此,我开始研究另一种可能性,即为所有 Tomcat 应用程序定义一个全局前缀,并使用以下设置代理 Tomcat 应用程序:
ProxyPreserveHost on
ProxyPass /apps/ http://localhost:8082/apps/
ProxyPassReverse /apps/ http://mydomain/apps/
Run Code Online (Sandbox Code Playgroud)
这会将http://mydomain/apps/my_app/ 的请求代理到http://localhost:8082/apps/my_app/。由于 Tomcat 服务器上的所有应用程序都将通过代理访问,因此我认为所有 Tomcat 应用程序都需要这个“/apps/”前缀。
到现在为止还挺好。然而,我在这种方法的 Tomcat 方面苦苦挣扎:找到一种方法为 Tomcat 应用程序的请求添加全局路径前缀。我得到的最接近的是: 1. 不要接触 Tomcat 应用程序的物理位置:将它们留在 ${CATALINA.HOME}/webapps 2. 更改 …
我正在尝试了解 SIP,让我一直困惑的一件事是电话号码和拨号计划与 SIP URI 之类的me@domain.com. 有什么不同?它们如何共存/协同工作?
例如,您是否使用 me@domain.com URI 进行连接,然后通过该连接发送 DTMF 音调(我对此表示怀疑,但我不确定其他方式如何工作?)