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; } }