搞机之 frp dashboard 访问

0x00 写在前面

继之前 frp 的简单安装及使用之后,也想试试自带的 dashboard。捣鼓了半天,愣是访问不了,记录一下事情经过。

0x01 dashboard 配置

服务端所有的配置都在源码仓库中有详细介绍及示例,可以参考 frps_full_example

这里摘抄 dashboard 部分的配置

# Configure the web server to enable the dashboard for frps.
# dashboard is available only if webServer.port is set.
# 这一项是监听地址,想要只能本地访问就填 127.0.0.1 想要公网访问就填 0.0.0.0
webServer.addr = "0.0.0.0"
webServer.port = 7500

# 用户名密码
webServer.user = "xxxx"
webServer.password = "xxxxxxx"
# webServer.tls.certFile = "server.crt"
# webServer.tls.keyFile = "server.key"
# dashboard assets directory(only for debug mode)
# webServer.assetsDir = "./static"

# Enable golang pprof handlers in dashboard listener.
# Dashboard port must be set first
webServer.pprofEnable = false

配置好后重启 frps 服务即可。

0x02 问题排查

最可能的问题有俩:

  1. 云服务器的安全组出入规则没有开放 dashboard 监听的端口,解决方法是配置一个就行。

  2. 云服务器本机的防火墙没有开放,笔者就是因为这个问题导致一直连不上(其实之前是开了的,结果重装系统后给忘了,又一直记得是开着的,也就没排查这一块,做了半天无用功)

    # 列出当前对外开放的端口
    firewall-cmd --zone=public --list-ports
    # 或者指定端口查询
    firewall-cmd --query-port=7500/tcp --zone=public 
    
    # 开放对应的端口 --permanent 表示永久开启,不加则在重启后关闭
    firewall-cmd --add-port=7500/tcp --zone=public --permanent
    
    # 重新加载
    firewall-cmd --reload
    

0x03 使用域名访问 dashboard

借用 nginx 的反向代理功能,能够将访问指定域名的请求转发到对应的地址。同理,也能给 dashboard 配一个域名,前提是域名已经解析到服务器对应的地址,配置如下:

vim /etc/nginx/conf.d/dashboard.conf

server {
	listen 80;
	server_name "frp-dashboard.xxxxxxxxx.com";
	location / {
		proxy_pass http://127.0.0.1:7500;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
	}
}

systemctl restart nginx

这样既可通过 frp-dashboard.xxxxxxxxx.com 访问 dashboard 了,注意:80 端口需要确认开放

0x04 写在后面

nginx 配置块配置项具体含义可参见 Nginx配置文件详解

### OpenStack Dashboard 无法访问的解决方案 当遇到 OpenStack 的 Horizon (Dashboard) 无法正常访问的情况时,通常会涉及多种可能的原因。以下是针对不同情况的具体分析和解决办法: #### 1. 权限错误与配置问题 如果登录到 Dashboard 后出现权限错误或界面显示混乱,可能是由于策略文件未正确加载所致。可以通过创建软链接的方式解决问题[^1]: ```bash ln -s /etc/openstack-dashboard/local_settings.py /usr/share/openstack-dashboard/openstack_dashboard/local/ ``` 此外,在某些情况下还需要确认 `/etc/openstack-dashboard` 中的配置是否已生效。 --- #### 2. HTTPD 配置缺失 WSGI 参数 在部分环境中,Horizon 可能因 Apache 或 Nginx 的配置不当而无法响应请求。具体表现为浏览器长时间等待页面加载却没有任何反馈。此时可以尝试修改 `openstack-dashboard.conf` 文件并添加必要的参数[^2]: 编辑 `/etc/httpd/conf.d/openstack-dashboard.conf` 文件,增加如下内容: ```apache WSGIApplicationGroup %{GLOBAL} ``` 保存后重启 Web 服务器以应用更改: ```bash systemctl restart httpd ``` --- #### 3. Keystone API 端口冲突 在部署过程中,有时会出现 Keystone API 使用的默认端口(通常是 5000 和 35357)被其他服务占用的现象,这可能导致整个 Horizon 功能异常[^3]。通过以下命令检查端口状态: ```bash netstat -tuln | grep 5000 ``` 如果有其他进程占用了该端口,则需调整 Keystone 的监听地址或者终止冲突的服务。 --- #### 4. 数据库连接失败 OpenStack Dashboard 依赖于数据库来存储用户信息和其他元数据。如果 MySQL/MariaDB 出现问题(如密码错误、网络不通),也会引发 500 错误。验证数据库连通性的方法包括运行测试脚本以及手动查询数据库: ```sql mysql -u openstack_user -p -e "SHOW DATABASES;" ``` 确保返回的结果包含预期的表名列表。 --- #### 5. Ceph 存储集成中的潜在影响 对于集成了 Ceph 的环境来说,任何关于 Cinder、Glance 或 Nova 的设置失误都可能间接干扰前端展示效果[^4]。因此建议重新审视这些模块的日志记录路径,定位是否存在性能瓶颈或其他隐患。 最后提醒一点——每次改动完成后务必清理缓存并刷新客户端视图以免残留旧版资源造成混淆! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值