我目前有nginx代理Thin ,但是设置为为Thin服务的应用程序提供静态文件,而不是代理请求。
我想知道的是如何检查规则设置是否正确。 由于Thin不logging请求,因此我需要设置nginx日志,以便显示哪些请求作为文件提供,哪些请求传递给Thin。 这甚至有可能吗? 如果是这样,怎么样?
根据您的configuration,可能很容易实现。 这是我的解决scheme…
服务器{
server_name domainname.com;
root / path / to / files;
#index index.php index.html;
#loggingaccess.log中的所有请求
access_log /some/path/such/as/var/log/nginx/access.log;
位置 / {
try_files $ uri $ uri @thin;
}
位置@thin {
#将请求传递给精简
#proxy_pass http:// thin;
#proxy-access.log中特定于代理的日志logging
access_log /some/path/such/as/var/log/nginx/proxy-access.log;
}
}
希望这可以帮助!
创build一个包含$upstream_response_time的自定义日志格式 – 如果你的后端服务它,你应该得到一个毫秒数来得到一个响应,如果nginx在内部服务它,你应该得到一个短划线
这是一个非常肮脏的黑客攻击,但要使Nginx或Thin对这些文件没有读取权限。 :)这样你就可以找出哪一个出错了,因此读/提供一个文件。
或者,您应该可以将自定义标题添加到提供静态文件的configuration块。 那么你将能够看到头的存在与否。