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

Prebid S2S自托管服务器配置、账号ID获取及部署问题咨询

Prebid Server-to-Server (S2S) & Self-Hosted Setup Guide

咱们一个个来拆解这些自托管Prebid Server的常见问题,都是实际部署中容易踩坑的点:


1. 如何在自托管服务器上配置Prebid的Server-to-Server(S2S)功能?

配置S2S需要前端(Prebid.js)和后端(自托管Prebid Server,简称PBS)两端配合,步骤如下:

前端配置(Prebid.js)

在你的Prebid初始化代码里,添加s2sConfig配置块,指定自托管PBS的端点、账户ID以及要启用的竞价方:

pbjs.setConfig({
  s2sConfig: {
    enabled: true,
    endpoint: 'https://your-pbs-domain.com/openrtb2/auction', // 你的自托管PBS端点
    accountId: 'your-custom-account-id', // 和后端配置匹配的账户ID
    bidders: ['appnexus', 'pubmatic', 'rubicon'], // 要通过S2S发起请求的竞价方
    timeout: 1000 // 可选,根据需求调整请求超时时间
  }
});

后端配置(自托管PBS)

打开你的PBS配置文件(config.yaml),确保对应accountId的条目已启用,并配置好竞价方的参数:

accounts:
  your-custom-account-id:
    enabled: true
    bidders:
      appnexus:
        enabled: true
        params:
          placementId: '123456' # 你的AppNexus投放ID
      pubmatic:
        enabled: true
        params:
          publisherId: 'pub-123456'

配置完成后重启PBS服务,让设置生效即可。


2. S2S配置中Account ID为必填字段,针对自托管服务器该如何获取该ID?

这个问题很多刚接触自托管的朋友都会问——和托管版Prebid Server不一样,自托管环境下的Account ID是你自己定义的,根本不用从外部平台获取:

  • 打开PBS的核心配置文件config.yaml,找到accounts节点
  • 你可以自定义任意符合格式的字符串(比如业务标识、数字组合)作为账户ID,示例如下:
    accounts:
      my-publisher-main-account: # 这就是你要用到的Account ID
        enabled: true
        # 后续添加竞价方配置...
    
  • 如果用的是PBS默认配置,通常会有一个名为default的默认账户ID,你也可以直接用它,但更推荐自定义ID来区分不同业务场景。
  • 最后记得让前端s2sConfig里的accountId和后端配置的完全一致就行。

3. 如何搭建Prebid自托管服务器?它是否为可部署在Firebase的普通JS文件?是否存在前置要求?若有,具体要求是什么?这些要求会对端点URL产生何种影响?

先澄清一个关键误区:Prebid Server不是普通的JS文件,它是用Go语言开发的后端服务,所以没法直接部署在Firebase Hosting(仅支持静态文件托管)。下面给你讲清楚细节:

搭建步骤(推荐用Docker,最省心)

  1. 前置要求:

    • 一台具备公网访问能力的服务器(云服务器如AWS EC2、GCP Compute Engine,或本地服务器均可)
    • 安装Docker(推荐,省去环境配置麻烦),或者Go 1.18+版本(如果要从源码编译)
    • 可选:域名和SSL证书(广告生态普遍要求HTTPS,建议配置)
    • 服务器防火墙/安全组放行8000端口(PBS默认监听端口)
  2. 快速搭建(Docker方式):

    • 拉取官方镜像:
      docker pull prebid/prebid-server:latest
      
    • 准备好自定义的config.yaml配置文件(可参考官方示例配置调整)
    • 启动容器,映射端口并挂载配置:
      docker run -d -p 8000:8000 -v /local/path/to/config.yaml:/config.yaml prebid/prebid-server:latest --config=/config.yaml
      
    • 测试访问:打开http://your-server-public-ip:8000/health,返回OK即为搭建成功。

关于Firebase部署

Firebase的Cloud Functions虽然支持Go语言,但它是事件驱动的无服务器函数,有执行时间和资源限制,完全不适合部署Prebid Server(PBS需要长期运行处理大量竞价请求)。更推荐用云容器服务(如GCP Cloud Run、AWS ECS)或者传统云服务器来部署。

前置要求对端点URL的影响

  • 基础配置(无SSL,默认端口):端点URL为http://your-server-public-ip:8000/openrtb2/auction
  • 配置SSL+反向代理(如Nginx):可以隐藏端口,改用HTTPS,URL变为https://your-custom-domain.com/openrtb2/auction
  • 使用云容器服务(如Cloud Run):平台会自动分配带SSL的域名,端点URL类似https://your-pbs-service-xxxxxx.run.app/openrtb2/auction,无需手动管理端口和证书。

内容的提问来源于stack exchange,提问作者mahesh.me

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:06:07