Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 相对服务器端重定向是否尊重协议?_Http_Redirect_Https_Server Side - Fatal编程技术网

Http 相对服务器端重定向是否尊重协议?

Http 相对服务器端重定向是否尊重协议?,http,redirect,https,server-side,Http,Redirect,Https,Server Side,我有一个基于Jetty的java应用程序,可以执行相对的服务器端重定向: e、 g.重定向到相对url: /页面2.html 从中重定向的页面通过https提供服务,但重定向最终作为http响应提供 https://someDomain.com/page1.html 重定向到 http://someDomain.com/page2.html 我是否应该使用相对url?我们有一个代理服务器正在进行一些重写-它是负责的,还是服务器端重定向不支持这一点?是的,HTTP允许重定向到相对URL,并且它应该

我有一个基于Jetty的java应用程序,可以执行相对的服务器端重定向:

e、 g.重定向到相对url:

/页面2.html

从中重定向的页面通过
https
提供服务,但重定向最终作为
http
响应提供

https://someDomain.com/page1.html

重定向到

http://someDomain.com/page2.html


我是否应该使用相对url?我们有一个代理服务器正在进行一些重写-它是负责的,还是服务器端重定向不支持这一点?

是的,HTTP允许重定向到相对URL,并且它应该使用与执行重定向的URL相同的协议,根据。如果Jetty或代理所做的事情与既定标准不符。

结果表明是Jetty将相对url重写为绝对url,并且由于它不知道它正在安全地提供服务(负载平衡器是安全加载的,而不是节点),然后,url被重写为绝对url->并使用http://scheme。更多信息,请注意,这意味着当请求是相对重定向(我认为;-)时测试绝对URI,并从建议的算法的RFC中管理解析相对URI指向的内容,而Jetty似乎正在正确地解析绝对URI。并显示示例相对URL以及如何解决它们。我最后用来解决Jetty问题的方法是简单地配置Apache,让Jetty知道它正在被代理,