资讯专栏INFORMATION COLUMN

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

王伟廷 / 1307人阅读

摘要:再结合模块来增强安全性。如查看结果基本认证与地址访问限制相结合。配置重启访问不输入账户密码或账户密码错误访问常见问题右下角错误点击可见解决方法在使用时它会调用一个远程验证,在中添加关闭远程验证即可。

1. 用HTTP基本身份验证限制访问
swagger生成的文档放在公网上的时候,就暴露了接口,有了安全隐患。nginxngx_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;
          }

重启Nginx: nginx -s reload,访问

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

2.常见问题

右下角 ERR 错误

点击可见

{"schemaValidationMessages":[{"level":"error","message":"Can"t read from file swagger.json"}]}
解决方法:在使用swagger-ui时它会调用一个远程验证,在index.html中添加 validatorUrl:false关闭远程验证即可。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28497.html

相关文章

  • Swagger 生成 PHP restful API 接口文档

    摘要:需求和背景需求为客户端同事写接口文档的各位后端同学已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史我的故事却又不同因为首先来说我在公司是组负责人属于上述血泪史中催死人不偿命的客户端阵营但血泪史却是相通的没有自动化文档的日子对接口就是 需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史.我的故事却又不同,因为首先来说...

    xiaotianyi 评论0 收藏0
  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    only_do 评论0 收藏0
  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    qc1iu 评论0 收藏0
  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    pepperwang 评论0 收藏0
  • Spring Swaggernginx 二级url 无法正常使用 修改host解决

    摘要:解决方法在配置直接设置的就可以了,网上搜索一堆完全没找到这个问题的解决方案,最后翻了源码找到方法。二级配置类接口文档接口文档 问题描述 测试环境用了nginx做二级url做映射,但swagger的http://www.xxx.com/二级url/v2...JSON里面的host地址还是一级目录,不自动对应nginx做了映射的二级url,因此使用swagger-ui.html在线调试AP...

    xingqiba 评论0 收藏0

发表评论

0条评论

王伟廷

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<