swagger重启_swagger系列三:结合Nginx访问控制及swagger常见问题解决

1. 用HTTP基本身份验证限制访问

swagger生成的文档放在公网上的时候,就暴露了接口,有了安全隐患。

nginx的

ngx_http_auth_basic_module模块为我们提供了方便。再结合

Apache模块

htpasswd来增强安全性。需安装Apache服务,这里不赘述。

htpasswd: htpasswd建立和更新存储用户名、密码的文本文件, 用于对HTTP用户的basic认证。

创建一个密码文件和第一个用户。htpasswd使用该

-c标志(创建一个新文件,如果文件存在则不用

-c),文件路径名作为第一个参数,并将用户名作为第二个参数运行该实用程序,按Enter并在提示中输入user1的密码。如:

$ sudo htpasswd -c /etc/apache2/.htpasswd user1

查看结果:

$ cat /etc/apache2/.htpasswd

user1:$ APR1 $ / woC1jnP $ KAh0SsVn5qeSMjTtn0E9Q0

user2:$ APR1 $ QdR8fNLT $ vbCEEzDj7LyqCMyNpSoBh /

基本认证与IP地址访问限制相结合。配置Nginx:

location /docs {

satisfy all;

deny 192.168.31.2;

allow 192.168.31.0/24;

allow 127.0.0.1;

deny all;

auth_basic "Administrator's area";

auth_basic_user_file /usr/local/etc/nginx/.htpasswd;

}

Av6f2i.png

重启Nginx: nginx -s reload,访问

v6rMfy.png

不输入账户密码或账户密码错误访问:

qmInuq.png

2.常见问题

右下角 ERR 错误

quyYFz.png

点击可见

{"schemaValidationMessages":[{"level":"error","message":"Can't read from file swagger.json"}]}

解决方法:在使用

swagger-ui时它会调用一个远程验证,在index.html中添加

validatorUrl:false关闭远程验证即可。

ruimAf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值