正在加载中,请稍后
author 首页 关于 笔记

按回车搜索更多

Nginx 指定URL或静态页面 实现用户登录 用户名密码验证
2019-07-06 阅读 {{counts.readCount}} 评论 {{counts.commentCount}}


需求

如题,Swagger-UI页面需要加权限验证拦截,但又不想搞太麻烦,于事就决定用Nginx的指定URL权限验证,来实现拦截swagger-ui.html

实现

以Centos为例

  1. # 安装工具
  2. yum -y install httpd
  3. # 创建密码
  4. htpasswd -c /etc/nginx/passwd admin
  5. # 然后根据提示输入两次密码
  6. New password:
  7. Re-type new password:
  8. # 结束后在/etc/nginx/目录下就多了一个passwd文件

修改配置文件
/etc/nginx/nginx.conf

  1. # 修改Nginx配置 加上这一段即可
  2. location /swagger-ui.html {
  3. auth_basic "There place don't have three hundred silver in here.";
  4. auth_basic_user_file /etc/nginx/passwd;
  5. # 下面这段根据自己情况配置
  6. proxy_pass http://localhost:8080/service/swagger-ui.html;
  7. proxy_set_header Host $host;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. proxy_set_header X-Forwarded-Proto https;
  10. proxy_connect_timeout 30;
  11. proxy_read_timeout 30;
  12. proxy_send_timeout 30;
  13. access_log off;
  14. break;
  15. }
  16. # 要是觉得还不保险,再加一个IP限制
  17. location /swagger-ui.html {
  18. # 代表IP4位全部对上才允许访问
  19. allow 111.111.111.111;
  20. # 代表IP前两位能对上就允许访问(用于某些运营商公网IP后两位经常变更)
  21. allow 111.111.0.0/16;
  22. deny all;
  23. ......
  24. }

END

提交
评论区空空如也,赶紧添加一条评论吧 评论 {{counts.commentCount}}
{{comment.name}} {{comment.os}} {{comment.browser}}
{{dateFormatter(comment.createTime)}}

{{comment.message}}

{{comment.reply.name}} {{comment.reply.os}} {{comment.reply.browser}}
{{dateFormatter(comment.reply.createTime)}}

{{comment.reply.message}}

zzzmh
关于我 留言板

网址导航

{{alert.message}}
留言板 * 站长不经常查看信箱 若有重要事宜联系邮箱 admin@zzzmh.cn 取消 发送