部署


layout: docs-default

部署

数据保护

托管在IIS中,我们需要同步机器密钥,如果我们不是托管于IIS,我们需要使用来自katana的兼容web farm的数据保护。
不幸的是,katana没有自带这样的保护逻辑。IdentityServer提供一个基于
X.509 certificates (X509CertificateDataProtector) 的数据保护,可以通过Options类来设置。

停止SSL

如果需要在负载平衡环境下停止SSL,options里面有两个相关的设置:

  • RequireSsl
    • 设置为false将允许负载平衡和IdentityServer之间的非SSL访问。
  • PublicOrigin
    • 因为内部的farm节点有不同于公开网址的名字,IdentityServer不能使用节点名字。为了产生链接URL,需要用这个属性来设置公开名。

签名密钥

取决于系统的安全需求,可以有下面的选择:

  • 把签名证书部署到所有节点,建议使用windows的证书存储保存证书。
  • 使用独立机器或者商业服务(比如 Azure密码保险箱) 来签名或者保存密钥 (通过实现ITokenSigningService 接口)

配置数据

作用域,客户端和用户的配置数据必须在各个节点同步。
可以使用静态数据,然后通过连续部署来更新,或者使用持久层,像EF包(或者社区的MongoDB包)

操作数据

有一些功能需要共享的数据库来操作数据--授权码,参考令牌,更新令牌等。如果需要这些功能,那么需要部署一个持久层,和上面一样,用EF或者MongoDB实现。

缓存

IdentityServer 有一个简单的内存缓存,单机用很好但是在farm情况下就不好用了,可以通过ICache接口来实现自己的缓存,请看社区贡献的缓存实现,比如 Redis 实现).

你可能感兴趣的:(部署)