gpt4 book ai didi

Nginx 和原始 header

转载 作者:行者123 更新时间:2023-12-04 04:23:04 31 4
gpt4 key购买 nike

我正在使用 Play Framework 开发一个网络 API。我使用 nginx 作为反向代理。由于该api将被嵌入式系统使用,因此返回信息应尽可能轻。

生产模式下的 Play Framework 明确返回:(RAW HTTP 取自 Fiddler)

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache
Content-Length: 14

aTqYu1mxQPy|10

但是,当我将 nginx 放在用户和 api 之间时,响应变成了这样:

HTTP/1.1 200 OK
Server: nginx/1.2.0
Date: Sun, 05 Aug 2012 15:08:31 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 14
Connection: close
Cache-Control: no-cache

aTqYu1mxQPy|10

我根本不需要ServerDateConnection header 。它们由 nginx 自动添加。 (或者是因为我在之前的实验中弄乱了我的nginx配置)

有没有办法告诉 ngnix 不要告诉任何 header 并原封不动地传递它们?

最佳答案

您可以使用 nginx 的第三方模块修改(和删除)任何 header ,https://github.com/agentzh/headers-more-nginx-module
但根据 RFC 2616,在 HTTP 协议(protocol)中,您只能删除 Server header 。
Connection: close - 用于关闭持久 (HTTP/1.1) 连接。
Date header 必须出现在 HTTP/1.1 中,在所有请求中,以下情况除外:

  1. If the response status code is 100 (Continue) or 101 (Switching
Protocols), the response MAY include a Date header field, at
the server's option.

2. If the response status code conveys a server error, e.g. 500
(Internal Server Error) or 503 (Service Unavailable), and it is
inconvenient or impossible to generate a valid Date.

3. If the server does not have a clock that can provide a
reasonable approximation of the current time, its responses
MUST NOT include a Date header field

据我所知,nginx严格遵循RFC。

关于Nginx 和原始 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817662/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com