Nginx配置中,可以判断URL中是否带特定的变量。
比如,如果URL中不带变量名为Signature的变量,即这个URL不包含signed URL的认证信息,返回403.
Nginx配置中,可以用$arg_xxx来判断变量名为xxx的变量。
具体配置如下:
server { listen 80; server_name ~^(.+)$; gzip on; gzip_proxied any; location / { if ($arg_Signature) { proxy_pass http://xxxx; access_log /var/log/nginx/upstream.log; add_header Cache-Control "public, max-age=604800"; break; } return 403; } }