假设:
client <-- HTTP --> spray web service <-- HTTP --> other web service
client
在点击spray web service
时收到以下HTTP状态代码和实体正文:
504 Gateway Timeout - Empty
根据这个answer,我的理解是spray web service
没有收到来自other web service
的及时回复,因此向HTTP 504
发送了client
}。
假设合理,https://github.com/spray/spray/blob/master/spray-http/src/main/scala/spray/http/StatusCode.scala#L158,我猜测其中一个server
config values对504
中的spray web service
负责{1}}对client
的HTTP响应。
什么配置或隐含会导致spray web service
回复504到client
?
答案 0 :(得分:0)
我认为你正在使用默认的Spray超时,也许你需要增加它们。如果是这种情况,则必须配置2个值以增加超时。
第一个值必须始终高于第二个值,因为idle-timeout将使请求客户端的连接毫无意义。
所以只需在application.conf
中覆盖您的配置,如下所示:
spray.can {
server {
idle-timeout = 120 s
request-timeout = 20 s
}
}