我在 Ubuntu 14.04 服务器上使用默认的 nginx 包。它用/etc/nginx/nginx.conf
作主配置,然后包含来自/etc/nginx/conf.d/*.conf
和 的配置/etc/nginx/sites-enabled/*
。
默认的 nginx 配置有这个指令用于记录到访问日志
access_log /var/log/nginx/access.log;
我想添加 X-Forwarded-For 标头,所以我在conf.d
文件夹内执行此操作:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,然后我在 access.log 文件中得到了两条记录——一条带有标题信息,另一条没有。
我知道我可以覆盖nginx.conf
文件本身,但如果可能的话,我宁愿避免它。我还想继续使用相同的日志文件 ( access.log
)。
有没有办法告诉 nginx 覆盖之前的指令并简单地更改日志格式而不修改主nginx.conf
文件?
我知道有很多工具可以测试带宽和延迟,但它们都依赖于至少有一台可以运行这些测试的主机。
我想知道是否有在线资源或其他某种方式来估计两个国家/地区之间的延迟或速度(一般而言)。
例如,如果服务器位于新加坡或澳大利亚,日本客户的延迟会更低吗?印度用户是否有可能从英国或美国的服务器获得更高的下载速度?
是否有任何在线资源或一些聪明的方法可以以合理的准确度回答这些问题?
[更新]:感谢 Raffael Luthiger 的精彩建议。我不知道那些看起来像玻璃的服务器。海底电缆地图也很酷(感谢 Jesper Mortensen)。如果我可以向该地区的那些网络专业人员询问他们的经验,这似乎也很明智,但显然我无法接触到这些。至少其中一些在SF :)
但是,我仍然有点不确定如何组合这些资源来给我一些测量结果。这是我拥有的信息:两个国家(A,B)。我确实有 A 国客户的 IP 地址(例如,我可以从 Web 服务器日志文件中获取这些地址)。大概我可以在 B 国找到一些窥镜服务器并跟踪这些 IP。最好的测量方法是什么?是否有任何脚本可以帮助自动化至少部分流程?