具体来说,Accept-Language 字段的不同设置可能会导致以下区别:
1. 语言优先级不同:Accept-Language 中的语言代码有一定的优先级,服务器可能会根据这些优先级选择合适的语言版本返回给客户端。如果优先级不同,就有可能导致客户端和服务器使用的语言版本不一致。
2. 返回内容不同:服务器可能会根据 Accept-Language 的设置返回不同的内容。例如,如果 Accept-Language 设置为英文,服务器可能会返回英文版的页面;如果设置为中文,服务器可能会返回中文版的页面。
3. 性能影响:如果 Accept-Language 中设置了多种语言,服务器需要尝试匹配最合适的语言版本,这可能会耗费一些性能。
因此,在进行跨语言的 Web 开发时,我们需要注意 Accept-Language 字段的设置,确保客户端和服务器使用的语言版本一致,同时也要注意性能方面的考虑。
有可能是kong的服务器无法访问后端的服务。例如配置的是域名,但域名无法解析。这种情况也很好诊断,在kong的服务器上ping一下后端服务,配置的域名就ping域名,配置的ip就ping ip。如果ip能访问,但域名不能,则要增加hosts配置了。
一般在kong的error.log中可以看到类似这样的错误:
2018/11/01 16:08:32 [error] 11114#0: *165 [lua] balancer.lua:806: execute(): [dns] dns lookup pool exceeded retries (1): failed to create a resolver: failed to set peer name: failed to parse host name "": no host. Tried: (short)ebpp.coscon.com:(na) - cache-miss
ebpp.coscon.com:33 - cache-miss/scheduled/try 1 error: failed to create a resolver: failed to set peer name: failed to parse host name "": no host/scheduled/try 2 error: failed to create a resolver: failed to set peer name: failed to parse host name "": no host/dns lookup pool exceeded retries (1): failed to create a resolver: failed to set peer name: failed to parse host name "": no host
头的名称不对,必要有这些头名称
header_x_date='x-coscon-date'
header_content_MD5='x-coscon-Content-MD'
header_digest='x-coscon-digest'
header_authorization='x-coscon-authorization'
可能http header加了accept 头,但没有加入服务器所返回的数据类型,比如json。
例如:
"accept": "text/html,application/xml"
这种情况,可以把application/json加入:
"accept": "application/json,text/html,application/xml"
也可以去掉accept头,不用指定。
注意检查一下,如果是使用Get方法,则body必须为空。如果body中有字符,就会引发KONG调用后端服务超时。
检查路径配置是否与后台一致,包括大小写。
如果前面还有其他组件转发给KONG,要看看前端转发配置是否与路径匹配,大小写也要注意。
另外Route中的Method(Get / Post)是否与发出的请求一致。
url中使用的端口不正确,例如https要用443或8443端口
检查协议是否配置成正确的https(小写,不能用大写)。另外注意端口,如果是https,默认应该用8443,而不是8000.
如果有
2019/06/25 19:26:01 [error] 22786#0: *81247552 upstream sent too big header while reading response header from upstream, client: 172.32.255.175, server: kong, request: "POST /service/cbs/basicData/getCustInfo.cbs HTTP/1.1", upstream: " http://172.32.225.69:8001/cbsServicePlatform/api/basicData/getCustInfo.cbs ", host: " api.lines.coscoshipping.com "
说明返回的头太大。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)