
Nginx
1 前言
笔者公司有一个项目,需要客户端通过head传递一个变量给Nginx,然后Nginx服务端读取此变量并利用。
笔者因此研究如何能使用Nginx服务端的头变量,故形成此文并分享。
2 环境搭建
为了便于测试,请准备以下测试环境,
https://www.cmdschool.org/archives/2057
3 实现部分
3.1 服务器端配置
3.1.1 修改配置文件
server { listen 80; server_name www.cmdschool.org; location / { root /var/www/www.cmdschool.org; index index.html index.htm; echo $http_token; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
3.1.2 重启使配置生效
systemctl restart nginx
3.2 客户端配置
3.2.1 配置名称解析
注:请配置DNS解析或者修改host,这里不详述(太简单)
3.2.2 客户端传递头变量
curl -v -H 'token:c5b5c5c3379147a489fbdd8ba72dba66' http://www.cmdschool.org
可见如下信息:
* About to connect() to www.cmdschool.org port 80 (#0) * Trying 10.168.0.154... connected * Connected to www.cmdschool.org (10.168.0.154) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: www.cmdschool.org > Accept: */* > token:c5b5c5c3379147a489fbdd8ba72dba66 > < HTTP/1.1 200 OK < Server: nginx/1.14.0 < Date: Sun, 13 May 2018 11:00:47 GMT < Content-Type: application/octet-stream < Transfer-Encoding: chunked < Connection: keep-alive < c5b5c5c3379147a489fbdd8ba72dba66 * Connection #0 to host www.cmdschool.org left intact * Closing connection #0
注:留意第八行(客户端传递的头信息)和倒数第三行(Nginx服务端接收并输出的头信息)
参阅文档:
================
http://nginx.org/en/docs/http/ngx_http_core_module.html
https://www.cnblogs.com/cuchadanfan/p/6551520.html
https://www.cnblogs.com/raichen/p/5121262.html
没有评论