本文介绍: SkyWalking从 8.0.0 版本开始弃用了自身的安全验证功能。在此之前,SkyWalking 提供了一种基于 HTTP Basic Auth简单认证方式可以通过用户名密码保护 SkyWalking 界面和 API。

目录

1.  Nginx部署

1.1更新系统软件包

1.2安装EPEL存储库

1.3安装Nginx

2.  修改 Nginx 配置文件

2.1.     字段解释

3. 创建存储用户名和密码的文件

3.1 安装htpasswd工具

3.2 验证

4.  验证代理及身份认证

4. 常见报错及解决方法

4.1.     检查监听

4.2. 检查配置文件字段地址

4.3. 检查防火墙设置

4.5. 排查代理类型

5. 常见502报错

5.1.     检查SELinux状态

5.2.     临时禁用SELinux

5.3.     永久更改SELinux配置

5.4.     重启服务器


SkyWalking 从 8.0.0 版本开始弃用了自身的安全验证功能。在此之前,SkyWalking 提供了一种基于 HTTP Basic Auth简单认证方式可以通过用户名密码保护 SkyWalking 界面和 API。

要在 Centos使用 Nginx 部署 SkyWalking 9.3.0 并设置浏览器访问需要输入账户和密码,可以按照以下步骤进行操作

1.  Nginx部署

1.1更新系统软件

#在安装任何新软件包之前,请确保您的系统上已经更新了所有现有的软件包。

sudo yum update

1.2安装EPEL存储

#默认情况下,CentOS仓库中不包含Nginx软件包。因此,我们需要安装EPEL(Extra Packages for Enterprise Linux)存储库,它包含了大量的额外的软件包,其中包括Nginx。

sudo yum install epelrelease

1.3安装Nginx

#一旦EPEL存储库被启用,您就可以使用yum安装Nginx了。

yum install nginx

2.  修改 Nginx 配置文件

vim /etc/nginx/nginx.conf。添加以下配置

server {

    listen       80;

    server_name  example.com; # 替换成自己的域名或 IP 地址

    location / {

        proxy_pass http://localhost:18080; # 将请求转发到 SkyWalking 服务器

        auth_basic “Restricted“; # 启用基本身份验证,显示提示信息

        auth_basic_user_file /etc/nginx/htpasswd; # 指定存储用户名和密码的文件路径

    }

}

2.1.     字段解释

  1. proxy_pass 字段指定将所有请求转发到 SkyWalking 服务器上的端口18080。
  2. auth_basic 字段指定浏览器显示的提示信息,auth_basic_user_file 字段指定存储用户名和密码的文件路径

3. 创建存储用户名和密码的文件

3.1 安装htpasswd工具

#运行以下命令安装httpdtools包:

yum install httpdtools

3.2 验证

#安装完成后,您可以运行以下命令来验证是否已成功安装htpasswd工具:

htpasswdv

#如果hthtpasswd安装成功,将显示htpasswd版本信息。否则,您可能需要重新启动系统后再次尝试安装。

#创建加密文件

touch /etc/nginx/htpasswd

#执行以下命令

htpasswdc /etc/nginx/htpasswd admin

然后输入密码,即可创建一个具有管理员权限的用户 admin。

4.  验证代理身份认证

  1. 检查SELinux状态

首先,请检查SELinux是否已启用:

Getenforce

如果输出为“Enforcing”,则表示SELinux处于启用状态

  1. 临时禁用SELinux

要临时禁用SELinux,请运行以下命令

setenforce 0

#此命令将SELinux设置为“宽松”模式(即不执行强制访问控制),并允许NGINX代理服务器连接到上游服务器。请注意,此操作可能会降低系统安全性,因此应该谨慎使用。

  1. 永久更改SELinux配置

如果要永久更改SELinux配置,则必须编辑/etc/selinux/config文件,并将其SELINUX值更改为“permissive”或“disabled”。

如果将SELINUX设置为“permissive”,则SELinux仍然处于启用状态,但仅记录警告和错误,而不执行强制访问控制

如果将SELINUX设置为“disabled”,则完全禁用SELinux。(需重启服务器

  1. 重新启动nginx

systemctl restart nginx

#在浏览器输入nginx.conf 中指定域名或 IP 地址,例如:http://example.com。将会看到一个登录页面输入之前创建的用户名和密码即可登录

通过以上步骤,就可以使用 Nginx 部署 SkyWalking 9.3.0 并设置浏览器访问需要输入账户和密码进行身份认证

 

 

 

4. 常见报错解决方法

使用nginxskywalking配置账户登陆后浏览器访问报错,可能是因为 Nginx 无法将请求转发到 SkyWalking 服务器上的端口

为了解决问题,您需要检查以下内容

4.1.     检查监听

端口检查 SkyWalking 服务器是否已正确启动并正在监听正确端口可以使用以下命令检查

netstat -tlnp | grep “8080” # 检查是否有进程监听端口 8080

4.2. 检查配置文件字段地址

检查 Nginx 配置文件proxy_pass 字段是否正确指定了 SkyWalking 服务器的地址端口可以尝试直接访问 SkyWalking 服务器的 IP 地址和端口,确认是否可以正常访问

4.3. 检查防火墙设置

确保允许来自 Nginx 的请求通过。例如,如果使用 firewalld,可以执行以下命令放行端口:

firewallcmd –zone=publicadd-port=80/tcp –permanent # 放行 HTTP 端口

firewallcmdreload # 重新加载防火墙规则

4.4.   检查 Nginx 日志

 /var/log/nginx/error.log查看是否有其他错误信息。可以使用以下命令实时监控日志:

tail -f /var/log/nginx/error.log

4.5. 排查代理类型

如果以上步骤都没有解决问题,可以尝试修改 Nginx 配置文件中的代理类型。例如,如果 SkyWalking 服务器使用的是 HTTPS 协议,可以在 location / 中添加以下配置

proxy_ssl_server_name on;

proxy_pass https://localhost:8443;

其中,proxy_ssl_server_name 表示要将原始请求头中的 Host 头发送到后端服务器,proxy_pass 指定转发到的 SkyWalking 服务器的地址和端口。

5. 常见502报错

如果在使用NGINX代理到上游服务器时遇到“connect() to [::1]:18080 failed (13: Permission denied) while connecting to upstream错误消息,这通常是由于SELinux限制引起的。您可以通过禁用或配置SELinux来解决问题

5.1.     检查SELinux状态

首先,请检查SELinux是否已启用:

getenforce

如果输出为“Enforcing”,则表示SELinux处于启用状态

5.2.     临时禁用SELinux

要临时禁用SELinux,请运行以下命令:

setenforce 0

此命令将SELinux设置为“宽松”模式(即不执行强制访问控制),并允许NGINX代理服务器连接到上游服务器。请注意,此操作可能会降低系统安全性,因此应该谨慎使用。

5.3.     永久更改SELinux配置

如果要永久更改SELinux配置,则必须编辑/etc/selinux/config文件,并将其SELINUX值更改为“permissive”或“disabled”。

•     如果将SELINUX设置为“permissive”,则SELinux仍然处于启用状态,但仅记录警告和错误,而不执行强制访问控制

•     如果将SELINUX设置为“disabled”,则完全禁用SELinux。

请注意,更改配置可能会影响系统安全性,并使系统容易受到攻击,因此应该谨慎使用。

5.4.     重启服务器

完成SELinux配置更改后,需要重新启动服务器才能使更改生效

reboot

如果您不想重新启动服务器,则可以使用以下命令暂时停用SELinux:

sudo setenforce 0

这将使SELinux临时处于“宽松”模式。请注意,此操作可能会降低系统安全性。

原文地址:https://blog.csdn.net/qq_52497256/article/details/130411850

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_8421.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注