使用得场景
因为想将skywalking对外提供访问,但是skywalking又没有认证功能,所以使用nginx来做。
安装htpasswd
因为需要使用到htpasswd,htpasswd是Apache服务器中生成用户认证的一个工具,如果未安装,则使用如下命令安装htpasswd。
yum install -y httpd-tools
安装成功后,设置用户名和密码。
扩展:htpasswd参数
- -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
- -n 不更新passwordfile,直接显示密码
- -m 使用MD5加密(默认)
- -d 使用CRYPT加密(默认)
- -p 使用普通文本格式的密码
- -s 使用SHA加密
- -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
- -D 删除指定的用户
设置用户名和密码
htpasswd 安装成功后,就可以设置用户名和密码,通过如下命令进行设置
htpasswd -cb htpasswd sk 123456
以上命令的含义是生成用户名为 sk ,密码为123456 的用户信息。
用户名和密码可以根据自己的需求进行设置。
修改Nginx配置
#这里是验证时的提示信息
server {
listen 80;
location /skywalking {
auth_basic "Please input password"; # 提示信息
auth_basic_user_file /etc/nginx/htpasswd; # 存放密码文件的路径
....
}
}
在访问时就会如下提示输入账号密码
http://localhost/skywakling