我基于正则表达式在其中具有location指令,其中带有proxy_pass:
location ~ \/proxy\/([w]+)
{
proxy_pass http://56.25.11.152:80/$1
}
我还在nginx cofing文件中定义了
log_format upstream_logging '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time';
access_log /var/log/nginx/access.log upstreamlog;
它为我提供了在proxy_pass中创建的结束地址的正确主机和端口,即56.25.11.152:80
(具有我们代理的端口的地址)。
但这并没有给我代理的路径,只有主机和端口。
它只为我提供了到达该位置(/proxy/www
)指令的路径。但是没有给我提供proxy_pass中使用的路径。
例如
location ~ \/proxy\/([w]+)
{
proxy_pass http://56.25.11.152:80/ok/we/$1
}
然后通过在access.log中点击localhost/proxy/www
,我得到的是/proxy/www
而不是/ok/we/www
。
所以我只知道我在浏览器中命中的位置是什么,实际上是localhost/proxy/www
。
但是我不知道proxy_pass中使用的路径是什么,它应该是/ok/we/www
。但是我怎么能确定呢?我只能相信,我的日志中没有此类信息。那是问题。
充其量,我什至希望登录access.log创建并代理的整个proxy_pass URL。