做网站的公司多少钱/福建seo推广方案
1 背景
项目中的Nginx需要对外暴露一个接口,该接口必须具有一定的安全措施:
- 调用接口必须是认证用户才能调用
- 需要限制调用方的IP地址
2 解决
利用Nginx本身提供的module来实现安全需求:默认情况下,这两个模块都已经编译进去了
- ngx_http_auth_basic_module:Http Basic认证
- ngx_http_access_module:IP地址限制
具体操作步骤如下:
# 1.生成账号和密码(非明文密码,密码应该包括字母大小写、数字和特殊字符)
# 注意:windows下不支持htpasswd方式!
printf "gsp:$(openssl passwd -crypt Test@888888)\n" >> htpasswd# 2.对特定Location添加Http Basic认证
# 注意auth_basic_user_file的路径配置,如果找不到对应的文件,会报403
# 报403错误时,在error.log中可以定位问题
location /test {root html/;# 添加Http Basic认证auth_basic "Login Required";auth_basic_user_file /etc/nginx/conf.d/htpasswd;autoindex on;charset utf-8,gbk;
}# 3.对特定Location添加IP访问控制
# 按顺序匹配,只有1