通过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