0
AWS HealthCheck端点不会发送任何会导致Cowboy(v 1.1.2)返回400的标头。这会导致容器重新启动。牛仔返回400无标头
有什么办法解决这个问题吗?
相关github上的问题:https://github.com/phoenixframework/phoenix/issues/2437
卷曲请求重现错误:
curl http://localhost:4000/ping -H 'Host:'
登录:
[error] Cowboy returned 400 and there are no headers in the connection.
This may happen if Cowboy is unable to parse the request headers,
for example, because there are too many headers or the header name
or value are too large (such as a large cookie).
You can customize those values when configuring your http/https
server. The configuration option and default values are shown below:
protocol_options: [
max_header_name_length: 64,
max_header_value_length: 4096,
max_headers: 100
]
端点配置:
config :my_app, MyAppWeb.Endpoint,
load_from_system_env: true,
url: [host: System.get_env("MY_HOST"), port: 443],
force_ssl: [rewrite_on: [:x_forwarded_proto]]
HTTP协议中需要主机头:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Host – narrowtux