NGINX安全配置与防护策略详解
1. 限制资源访问
使用安全链接模块和 secure_link_secret
指令可以限制对资源的访问,只有拥有安全链接的用户才能访问。配置示例如下:
location /resources {
secure_link_secret mySecret;
if ($secure_link = "") { return 403; }
rewrite ^ /secured/$secure_link;
}
location /secured/ {
internal;
root /var/www;
}
此配置创建了一个内部和面向公众的位置块。面向公众的位置块 /resources
除非请求URI包含可以用 secure_link_secret
指令提供的密钥验证的md5哈希字符串,否则将返回403禁止访问。 $secure_link
变量在URI中的哈希未验证时为空字符串。
2. 生成带密钥的安全链接
若要从应用程序使用密钥生成安全链接,可按以下步骤操作:
- Unix系统 :使用 openssl
命令生成md5哈希的十六进制摘要。例如,要保护的文件为 /var/www/secured/index.html
,密钥为 mySecret
,可执行