通过nginx给skywalking添加WEB访问权限

1 问题

skywalking在高版本去掉了WEB端的权限管理,只能通过其他方式配置后台访问权限。

2 解决

nginx默认提供了【ngx_http_auth_basic_module】模块,该模块可以让用户只有输入正确的账号密码才能访问web。

2.1 生成密码

使用到htpasswd,若未安装,则按以下指令安装

yum -y install httpd  #安装httpd

生成密码

htpasswd -cb /etc/nginx/htpasswd skywalking 123456  #生成密码文件,skywalking为用户名,123456为密码

2.2 修改Nginx配置

server{
        listen       80;
        server_name  域名地址;

        location / {
        auth_basic "Please input password";         # 提示信息
        auth_basic_user_file /etc/nginx/htpasswd;   # 存放密码文件的路径
        proxy_redirect off;
        proxy_pass          http://127.0.0.1:8080;
        proxy_set_header    Host               $host;
        proxy_set_header    X-Real-IP          $remote_addr;
        proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto  $scheme;
        proxy_set_header    Cookie $http_cookie;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size    0;
        proxy_connect_timeout       480;
        proxy_send_timeout          360;
        proxy_read_timeout          360;
        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
        client_max_body_size        200m;    #上传文件大小限制
        }
}

2.3重载Nginx

service nginx reload

3 结果

访问后提示输入用户名及密码


登录

若验证失败,则无法查看


验证失败

你可能感兴趣的:(通过nginx给skywalking添加WEB访问权限)