我们将nginx用作反向代理,以控制和记录对Clojure(Java)Web服务应用程序的访问。
我们可以生成一个access_log
并使用nginx捕获传入的标头。我们的Clojure应用程序通过log4j记录活动。问题是,我们无法将access_log
中的条目与应用生成的条目进行匹配。
该应用通过发送响应头和正文来响应访问。我们可以自由更改这些响应头。我最初的想法是生成一个与每个Web服务请求相对应的UUID,并将其发送到答复标头中的用户X-Uuid
。我的想法是我可以通过创建一个自定义来捕获此响应log_format
:
log_format lt-custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time $http_x_uuid';
看起来nginx可以捕获传入请求中的标头,但不能捕获传出回复中的标头(我通过替换$http_x_uuid
为进行了验证$http_content_type
)。
所以!有没有一种方法可以access_log
通过使用Nginx捕获传出的回复标头来绑定实体和log4j条目?有没有更好的办法?我宁愿不必依靠用户生成自己的UUID。
非常感谢!
$ http_x_uuid是客户端发送的标头。上游发送的响应头是$ upstream_http_x_uuid
http://wiki.nginx.org/HttpUpstreamModule#.24upstream_http_.24HEADER
主要内容:1. 代理服务器介绍,2. 将请求传递给代理的服务器,3. 传递请求标头,4. 配置缓冲区,5. 选择传出IP地址本文介绍代理服务器的基本配置。 您将学习如何通过不同协议将NGINX请求传递给代理的服务器,修改发送到代理服务器的客户端请求标头,以及配置来自代理服务器的响应缓冲。 代理服务器的基本配置目录 代理服务器介绍 将请求传递给代理的服务器 传递请求标头 配置缓冲区 选择传出IP地址 1. 代理服务器介绍 代理通常用于在多个服务器之间分配负载,无缝地显示来自不同网站的内容,或者通过
Nginx 是一个高性能的 HTTP 和反向代理服务器,代码完全用 C 实现,基于它的高性能以及诸多优点,我们可以把它设置为 hyperf 的前置服务器,实现负载均衡或 HTTPS 前置服务器等。 配置 Http 代理 # 至少需要一个 Hyperf 节点,多个配置多行 upstream hyperf { # Hyperf HTTP Server 的 IP 及 端口 server
Nginx的配置文件如下: server { listen 80; #此处应该配置你的域名: server_name doc.iminho.me; charset utf-8; #此处配置你的访问日志,请手动创建该目录: access_log /var/log/nginx/webhook.iminho.me/access.log
我将Nginx配置为简单反向代理。 我只是使用基本设置 问题是,经过一段时间(几天)后,nginx背后的站点变得不可访问。Indead nginx尝试调用一个坏的ip(nginx后面的站点在我家盒子后面,我正在使用dyn dns,因为我的ip不固定)。这个dyn dns总是有效的(我可以直接调用我的站点),但由于不清楚的原因,Nginx被卡住了。。 如前所述,nginx只需在一段时间后给我504网
使用nginx作为前端的反向代理将请求传递给应用是可行的。然而,只有nginx 1.4版本以上才支持WebSocket协议。下面是nginx代理HTTP和WebSocket请求的一个最基本的配置: server { listen 80; server_name _; location / { include proxy_params; pro
我已经被这个问题困扰了3天。 我的服务器是Centos,在Httpd服务中使用wordpress(WP)。 它的IP是'103.232.120.178' 我想使用nginx作为WP的反向代理。 Httpd位于端口2101 Nginx位于端口80 WP位于子目录'bongda69'(URL:'103.232.120.178:2101/bongda69') 我想如果访问我的网站,它重定向到WordPr