You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于PingAccess在CentOS虚拟机配置Agent认证的技术咨询

没问题,我来一步步帮你搞定这个PingAccess Agent的配置——完全可以在你的本地CentOS虚拟机上实现,不用为找不到文档发愁~

前提条件确认

先捋清楚你已经具备/需要补充的条件:

  • ✅ 已运行的PingAccess Server(能访问管理UI)
  • 需要给你的PHP应用所在的Web服务器(比如Apache/Nginx)部署PingAccess Agent
  • ✅ Agent和Server在同一虚拟机/内网(本地环境天然满足网络连通)
  • 一个测试用的用户账号(可以先在PingAccess本地用户存储里创建,后续再对接其他身份源)
第一步:在PingAccess Server上配置应用与Agent规则
  1. 登录PingAccess管理UI,进入Applications页面,点击「Add Application」
  2. 填写应用基础信息:
    • Name:比如PHP Demo App(随便起个好记的名字)
    • Target Host:填你的PHP应用所在地址,比如localhost或者虚拟机内网IP,端口填Web服务器端口(默认80)
    • Resource Paths:输入/*(表示拦截该应用下所有路径)
  3. 设置认证策略:
    因为你的应用不支持OAuth/SAML,选Basic Authentication最适合,然后关联用户存储:
    • 如果还没创建测试用户,先去Identity Providers → Local User Store添加一个(比如用户名testuser,设置密码)
    • 回到应用的Authentication Policy,选择刚才的本地用户存储
  4. 创建并关联Agent:
    • 进入Agents页面,点击「Add Agent」,命名比如PHP App Agent
    • 选择对应Agent类型:Apache就选Apache HTTP Server,Nginx选Nginx,通用场景选Reverse Proxy Agent
    • 记录页面上的Agent ID和Agent Secret(后面配置Agent要用)
    • 回到应用配置的Agent模块,把刚创建的Agent关联进来
  5. 配置HTTP头注入:
    找到Response Transformation(部分版本叫Header Injection),点击「Add Header」:
    • Name:填Header-UserName(就是你要给PHP应用的自定义头)
    • Value:输入${user.username}(PingAccess内置变量,会自动替换为当前登录用户的用户名)
    • 确保这个头设置为「发送到目标应用」(不是返回给客户端)
  6. 最后一定要点击右上角的Deploy Changes——PingAccess所有配置都要部署才会生效!
第二步:在CentOS上安装并配置PingAccess Agent
  1. 从PingAccess安装包目录里找到对应Web服务器的Agent安装包(也可以在Server的Agents页面下载)
  2. 安装并配置Agent:
    • 解压安装包后,按照指引把Agent模块加载到Web服务器配置文件(比如Apache的httpd.conf)
    • 编辑Agent的agent.conf配置文件:
      • 设置pa.server.url为PingAccess Server地址,比如https://localhost:9000(默认端口9000)
      • 填入之前记录的pa.agent.id和pa.agent.secret
  3. 重启Web服务器:
    比如Apache执行 systemctl restart httpd,Nginx执行 systemctl restart nginx
  4. 验证Agent连接:回到PingAccess Server的Agents页面,看你创建的Agent状态是否显示「Online」
第三步:测试配置效果
  1. 访问你的PHP应用地址(比如http://虚拟机内网IP/),会弹出基础认证的登录框
  2. 输入之前创建的测试用户testuser和密码,登录成功后进入应用
  3. 在PHP脚本里通过$_SERVER['HTTP_HEADER_USERNAME']读取头信息(HTTP头在PHP里会自动转为大写+下划线格式),然后输出即可
  4. 可以用浏览器开发者工具查看请求头,确认Header-UserName已经被Agent正确添加
常见问题排查
  • Agent显示离线:检查Agent与Server的网络连通性(比如用curl https://localhost:9000测试),确认Agent ID和Secret输入正确
  • HTTP头未注入:检查应用的Response Transformation配置,确认变量${user.username}拼写正确,且Agent已关联到该应用
  • 认证失败:检查本地用户存储里的用户是否存在、密码是否正确,确认认证策略已关联正确的用户存储

内容的提问来源于stack exchange,提问作者Dev.User993

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 08:52:41