Open Closed

两台服务器部署相同的应用,用一套数据库可以吗? #9985


User avatar
0
48949912 created

,两台服务器的地址都要配置进去吗?还是要单独再建个ClinetId?


6 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • 两台服务器部署相同的 ABP 应用并共用一套数据库是支持的,这属于“集群部署”或“多实例部署”常见场景。ABP 框架天然支持多实例/多节点部署,前提是数据库和缓存(如 Redis)等共享资源配置正确。

    • 关于 OpenIddict(或 IdentityServer)Client 配置:

      • 如果两台服务器运行的是同一个前端应用(如 Angular),只要它们的回调地址(RedirectUris、PostLogoutRedirectUris、ClientUri)都配置在同一个 ClientId 下即可。也就是说,可以在同一个 ClientId 的 RedirectUris、PostLogoutRedirectUris、ClientUri 字段中添加多个地址(如两台服务器的地址)。
      • 不需要为每台服务器单独新建 ClientId,除非你有特殊的隔离需求(如不同的权限、不同的客户端配置等)。
    • 配置方法举例(以 OpenIddictApplications 表为例):

      • RedirectUris 字段可以配置为:["http://192.168.1.174:4200", "http://192.168.1.175:4200"]
      • PostLogoutRedirectUris、ClientUri 同理,均可配置多个地址。
    • 这样无论用户访问哪台服务器,认证流程都能正常回调到对应的前端地址。

    • 参考官方文档说明:

      • ABP 集群部署说明:https://abp.io/docs/latest/deployment/clustered-environment
      • ABP 多实例注册/登录慢问题(含集群相关讨论):https://abp.io/support/questions/3587

    • 结论:只需在同一个 ClientId 下配置所有需要的回调地址即可,无需为每台服务器单独新建 ClientId。

    This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.

  • User Avatar
    0
    48949912 created

    请确认这样是可行的吗?

  • User Avatar
    0
    48949912 created

    有人在吗?在线等!

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    openddict 支持一个客户端配置多个重定向url。

  • User Avatar
    0
    48949912 created

    [maliming] said: openddict 支持一个客户端配置多个重定向url。

    ClientUri 是要配置域名或者对外访问的唯一IP地址吗?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    clienturl 能存储一个独立的域名,是abp自定义的一个string属性

    redirecturl和postlogout_redirecturl是数组可以存储多个url,你只需要配置好这两个就可以。

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on October 13, 2025, 08:48