首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >物理服务器名的Nginx变量

物理服务器名的Nginx变量
EN

Stack Overflow用户
提问于 2014-07-23 15:47:50
回答 3查看 8.7K关注 0票数 6

我试图在我的单独的web服务器上设置响应头,该服务器输出nginx正在运行的机器的物理名称,这样我就可以知道哪些服务器正在为我们的web客户端提供响应。

是否已经存在一个变量来执行此操作?或者我只需要在每个服务器上硬编码:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-04 00:21:50

您需要的是$hostname公共变量。公共变量列在可变指数中。

nginx访问日志文档只显示特定于访问日志的变量:

日志格式可以包含公共变量,以及仅在日志写入时才存在的变量。

票数 5
EN

Stack Overflow用户

发布于 2014-07-24 06:37:51

我想你是在找$hostname变量。

票数 -1
EN

Stack Overflow用户

发布于 2014-09-21 06:16:42

起初,我认为答案是使用ENV变量并从其中提取主机名( https://docs.apitools.com/blog/2014/07/02/using-environment-variables-in-nginx-conf.html )。但由于某种原因我没能让它起作用。

然而,这就像一种魅力:

perl_set $server_int 'sub { use Sys::Hostname; return hostname; }';

以及示例用法:

add_header 'Server-Int' "$server_int";

只需确保您的nginx是用--with-http_perl_module编译的-只需运行nginx -V来确保。并且安装了Sys::Hostname。

警告:我最初使用hostname在Perl脚本中返回主机名,但是虽然返回了名称,但出于某种原因,它中止了输出的其余部分。我不知道这是否是perl_set的一个bug,但是已经警告过您--在perl_set中使用后退可能是致命的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24915159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档