【问题标题】:How to dump HTTP request headers + source ip of the client in Nginx?如何在 Nginx 中转储 HTTP 请求标头 + 客户端的源 ip?
【发布时间】:2020-02-08 02:20:51
【问题描述】:

尝试对部署为容器的 Nginx 进行故障排除。是否可以通过网页将请求信息转储给请求者?

例如,代替标准的“欢迎使用 Nginx!”页面,我可以获得客户端的请求标头和源 IP 列表吗?

谢谢!

【问题讨论】:

  • 如果你为它写一个应用程序就可以。您将其发布在您的 nginx 容器中,这将打印出您指示它的所有信息。
  • 通常可以在access log format 中包含该信息,用于调试。既然您在kubernetes 标签中提出了要求,那么在集群中部署“echo”服务来调试请求也是超级轻松,因为 nginx 并不是真正适合处理动态内容的工具
  • @Andy 那些 cmets 解决了你的问题吗?

标签: nginx kubernetes containers


【解决方案1】:

找到专门为此目的构建的图像:gcr.io/google_containers/echoserver:1.4

kubectl run echoserver --image=gcr.io/google_containers/echoserver:1.4 --port=8080

vagrant@master-1:~$ curl 172.16.97.199:8080
CLIENT VALUES:
client_address=172.16.39.0
command=GET
real path=/
query=nil
request_version=1.1
request_uri=http://172.16.97.199:8080/

SERVER VALUES:
server_version=nginx: 1.10.0 - lua: 10001

HEADERS RECEIVED:
accept=*/*
host=172.16.97.199:8080
user-agent=curl/7.58.0
BODY:
-no body in request-

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多