浏览 1.2k
今天晚上听陶辉老师的课,问了一个问题,可能是我没有描述清楚,陶辉老师让我看看有关域名匹配的
的文章。但我的问题不是域名匹配
我的问题是:
我有一个域名a.xxx.yy 在配置时root指定在/home/data下,另一个域名b.xxx.yy在配置时root指定在/home/data/news下,遇到的问题是:/home/data/news/2.html,本意是这个文件只能通过b.xxx.yy/2.html访问,但现在发现通过a.xxx.yy/news/2.html也能访问到这个文件,如何实现在不动目录层次关系的情况下,实现2.html文件只能通过b.xxx.yy/2.html,而不能通过a.xxx.yy/news/2.html进行访问,也就是对有父子关系的目录进行隔离。
按点赞数排序
按时间排序
自问自答了。看了一下代码,感觉ngx_http_compile_complex_value和ngx_http_script_compile是两套实现,前者对后者进行了封装,使用起来应该更方便。
比如,如果有一个指令需要支持复杂变量,使用ngx_http_compile_complex_value只需要定义一个ngx_http_complex_value_t变量就可以。但是使用ngx_http_script_compile需要定义flushes,lengths,variables一系列数组。。
通过修改成如下配置之后可以正常访问了:
location ^~/nexus {
proxy_pass http://localhost:8800/nexus;
sendfile off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https; # 转发时使用https协议
proxy_request_buffering off;
proxy_buffering off;
}