Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
通过https发出原始请求时在位置标头中获取http_Http_Ssl_Redirect_Https_Undertow - Fatal编程技术网

通过https发出原始请求时在位置标头中获取http

通过https发出原始请求时在位置标头中获取http,http,ssl,redirect,https,undertow,Http,Ssl,Redirect,Https,Undertow,我的问题是: 1) 当来自浏览器的原始请求是使用https发出的时,为什么要在位置标头中获取http作为方案 2) 这是wildfly负载平衡器的问题吗 我的请求头是: 我的回应是: 负载平衡器是否正在剥离TLS并将请求作为HTTP转发到应用程序?如果是这样,那么应用程序在执行重定向时,可能使用的协议与接收请求时使用的协议相同 如果是这种情况,要么让应用程序强制使用httpshttps,要么让负载平衡器重写返回的响应 您可能需要设置proxy address forwarding=“true”和

我的问题是:

1) 当来自浏览器的原始请求是使用https发出的时,为什么要在位置标头中获取http作为方案

2) 这是wildfly负载平衡器的问题吗

我的请求头是:

我的回应是:


负载平衡器是否正在剥离TLS并将请求作为HTTP转发到应用程序?如果是这样,那么应用程序在执行重定向时,可能使用的协议与接收请求时使用的协议相同

如果是这种情况,要么让应用程序强制使用https
https
,要么让负载平衡器重写返回的响应


您可能需要设置
proxy address forwarding=“true”
和/或
request\u header\u add X-Forwarded-Proto https

以下是上述问题的详细解决方案说明:

我们在两台wildfly服务器前安装了一个负载平衡器。负载平衡器处理SSL握手并强制所有通信通过
https
,wildfly节点上没有证书,负载平衡器和服务器之间的通信未加密,wildfly节点对SSL一无所知。负载平衡器和wildfly节点之间的通信通过
http
协议

当用户点击受保护的页面时,例如

请求流程如下所示:

  • 通过
    https
  • 通过
    http
    协议将负载平衡器连接到wildlfy节点
  • 在wildlfy服务器节点的http
    http
    
    听众

另一个选项是让负载平衡器向服务器响应中添加严格的传输安全标头,例如:

Strict-Transport-Security max-age=300;

这将有效地告诉客户端,他应该始终使用https与您的服务器联系。

这似乎是一个重定向。嗨,Robert,是的,这只是重定向,但我们不是说像http重定向。在我们的LoginServlet代码中,我们在doPost方法response.sendRedirect(“dashboard.html”)中编写如下代码proxy address forwarding=“true”,另一个简单的修复方法是根本不在位置标头字段中设置方案
content-length: 0
date: Thu, 03 Jan 2019 04:55:42 GMT
location: http://10.43.201.207/myapp/dashboard.html?init=1
server: WildFly/12
set-cookie: APP_AUTH=leTPWYd1222zsrrtRRtgpuEWEWc7pR0CBuNPYPT5QHbGn_Db7ICK; path=/; secure; HttpOnly
set-cookie: JSESSIONID="leTee33333PWYdSDSDweetRRtgpuc7pR0CBuNPYPT5QHbGn_Db7ICK.master-0:master-server"; Version=1; Path=/myapp; Secure; HttpOnly
status: 302
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-powered-by: Undertow/1
x-xss-protection: 1; mode=block
Strict-Transport-Security max-age=300;