Nginx配置密码来访问Swagger-ui页面

Nginx配置密码来访问Swagger-ui页面

1. 安装密码生成工具htpasswd并生成用户密码文件

yum install httpd-tools               #适用centos
sudo apt-get install apache2-utils    #适用ubuntu

生成用户密码文件

mkdir -p /var/www/html/

$ htpasswd -c /var/www/html/.htpasswd user1  #回车会要求输入两遍密码,会清除所有用户!
$ htpasswd -bc /var/www/html/.htpasswd user1 password  #不用回车,直接指定user1的密码为password
$ htpasswd -b /var/www/html/.htpasswd user2 password   #添加一个用户,如果用户已存在,则是修改密码
$ htpasswd -D /var/www/html/.htpasswd user2  #删除用户

2.为Nginx添加basic_auth配置

location /swagger-ui.html {
   auth_basic "Restricted Content";
   auth_basic_user_file /var/www/html/.htpasswd;
   proxy_pass http://127.0.0.1:8080/swagger-ui.html;
}

location / {
    proxy_pass   http://127.0.0.1:8080;
}

重启Nginx,访问页面会提示输入用户名和密码。

参考文档:

https://www.centos.bz/2017/07/nginx-basic_auth-password/

https://codeday.me/bug/20190828/1755729.html

https://jingyan.baidu.com/article/5225f26b583122e6fa09083f.html

原文地址:https://www.cnblogs.com/cnsyear/p/12732074.html