nginx配置中 root能指定非本地的文件路径吗
从理论上将nginx的root只能制定本地的文件路径。nginx对与网络路径的指定一般都通过fast_cgi指令和proxy_pass来完成,这两个指令可以把请求转发给下游机器来实现网络通信。但是对于普通的root指令,理论上只能是制定本地文件路径。并且查看了下nginx的模块源码,发现在autoindex模块中文件定位的代码中存在如下代码:
1
if(ngx_open_dir(&path, &dir) == NGX_ERROR) {
而ngx_open_dir实际上是opendir()函数的封装。而在linux C中,opendir函数的参数中指定的路径只能是本地路径,因此,从源码的角度上分析,root指令也只能制定本地的文件路径。