给定:
client <-- HTTP --> spray web service <-- HTTP --> other web service
当命中spray web service时,client会收到以下HTTP状态代码和实体主体
504 Gateway Timeout - Empty
根据这个answer,我的理解是spray web service没有收到来自other web service的及时响应,因此向client发送了一个HTTP 504。
假设这是合理的,根据https://github.com/spray/spray/blob/master/spray-http/src/main/scala/spray/http/StatusCode.scala#L158,我猜测其中一个server config values负责spray web service对client的HTTP响应中的504。
什么配置或隐式配置会导致spray web service向client回复504
发布于 2016-03-23 22:42:38
我认为你正在使用默认的喷雾超时,也许你需要增加它们。如果是这种情况,您必须配置两个值来增加超时。
默认空闲超时时间:在服务器断开之前,您可以与服务器建立空闲连接的时间(默认超时时间)来自您的客户端(从您的服务器到另一台服务器)的请求在超时之前可以处于空闲状态(默认为20秒)。
第一个值必须始终大于第二个值,因为空闲超时将使来自请求客户端的连接变得毫无意义。
因此,只需像这样覆盖application.conf中的配置:
spray.can {
server {
idle-timeout = 120 s
request-timeout = 20 s
}
}https://stackoverflow.com/questions/36121460
复制相似问题