Yve*_*030 5 java proxy servlets http-headers
我已经阅读了数百个SO帖子并研究了几个可用的Java HTTP代理源...但是我找不到解决问题的方法.
我写了一个代理Http-Requests的WebApp.WebApp正在运行,但是链接和引用会被破坏,因为代理页面的"根"指向我的服务器的根,而不是指向我的proxyservlet的路径.
为了更清楚:
我的ProxyServlet获取请求" http://myserver.com/proxy/ProxyServlet?foo=bar "
ProxyServlet现在从ServerX获取页面内容(例如" http://original.com/test.html ")
只需从一个流读取和写入另一个流并复制标题,即可将页面内容传送到浏览器.
浏览器显示浏览器显示的页面,URL是原始请求(" http://myserver.com/proxy/ProxyServlet?foo=bar "),但所有相关链接现在指向" http:// myserver" .com/XXX.html "而不是" http://myserver.com/proxy/ProxyServlet/XXX.html "
是否有响应标题,我可以更改"路径",以便相对链接正确指向我的ProxyServlet?
(重写页面内容并替换链接会非常困难,因为页面包含相对寻址的元素,例如javascript代码和其他活动内容......)
(将我的Servlet的映射更改为"/*"也是不可能的......必须通过此路径访问...)
你正在发明一个"反向代理",并错过了"URL重写"功能......在我的搜索结果的顶部,这是一个开源代理servlet,它执行此操作:http: //j2ep.sourceforge.net/docs/ rewrite.html
如果你不得不这样做,你应该知道系统架构可能有问题.放弃像Apache,nginex,Varnish这样的独立代理应始终是一个选项,因为在开始扩展时你必须添加一个(或更多!).
| 归档时间: |
|
| 查看次数: |
10913 次 |
| 最近记录: |