通过nginx给skywalking后台添加权限
说明
skywalking在高版本去掉了security后台权限,只能通过其他方式配置后台访问权限。
nginx默认提供了【ngx_http_auth_basic_module】模块,改模块功能实现让用户只有输入正确的账号密码才能访问web。
需要使用第三方工具设置用户名及密码即可。
1.nginx配置
server{listen 80;server_name skywalking.xxx.com;location / {auth_basic "Please input password"; #这个是提示信息auth_basic_user_file /usr/local/nginx/conf/htpasswd; #存放密码文件的路径proxy_redirect off;proxy_pass http://skywalkingServer;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; #上传文件大小限制}}upstream skywalkingServer{server 127.0.0.1:8080;}
2.使用htpasswd生成密码文件
which htpasswd #查看是否安装htpasswd
提示下面信息代表为安装
/usr/bin/which: no htpasswd in (/opt/java/jdk-11.0.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
安装
yum -y install httpd #安装httpd
查看是否安装
rpm -qf /usr/bin/htpasswd #查看是否安装
生成密码文件
htpasswd -cb /usr/local/nginx/conf/htpasswd skywalking helloDz! #生成密码文件
提示下面内容说明添加成功
设置文件权限
chmod 400 /usr/local/nginx/conf/htpasswd #为了安全设置文件权限
3.重启nginx

./nginx -t #检查语法是否正常
./nginx -s reload
4.效果

