如何配置Nginx代理HTTP 0.9服务器?解决无有效HTTP头问题
Nginx代理HTTP 0.9服务器的配置方法
可以配置Nginx代理HTTP 0.9服务器,核心是调整Nginx与上游通信的协议版本,并适配HTTP 0.9的特性。
你的报错根源是Nginx默认使用HTTP/1.0+协议与上游通信,会强制校验响应头的合法性,但HTTP 0.9协议没有响应头,只有纯内容,因此触发校验失败。
修改后的location配置如下:
location /api/ { proxy_pass http://localhost:80/; proxy_http_version 0.9; proxy_set_header Host ""; }
配置参数说明:
proxy_http_version 0.9:指定Nginx使用HTTP 0.9协议与上游服务器交互,不再要求上游返回符合HTTP/1.0+规范的响应头,直接接收并转发纯内容。proxy_set_header Host "":HTTP 0.9协议不包含Host请求头,清除Nginx默认添加的Host头,避免上游服务器无法处理不符合协议的请求。
配置完成后重载Nginx,即可正常代理该HTTP 0.9服务器的请求。
内容的提问来源于stack exchange,提问作者Draess
相关产品推荐
相关产品推荐

