我有以下 nginxlocation块:
location ^~ /publish {
allow 127.0.0.1;
#Allow home
allow 99.100.101.102;
deny all;
}
Run Code Online (Sandbox Code Playgroud)
然后这个location块在处理 PHP 之后:
location ~\.php {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
问题是/publishlikeexecute.php中的文件没有被 fastcgi PHP 处理器处理,它们只是在从 CURL 调用时输出纯 PHP 代码。/publish如果文件以 .php 结尾,我如何强制执行块中定义的安全规则,但仍然执行 PHP 块?
nginx 只location对一个请求应用一个块。
include如果您想在块之间共享指令,请使用,或者如果您想将多个使用 PHP 的块指向单个 PHP 处理,则使用try_files指向一个@php位置。locationlocation
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |