如何使用PeopleSoft后端服务器扩展适用于Azure AD声明的Apache OIDC模块

时间:2019-03-22 07:11:55

标签: apache azure weblogic oidc

我对PeopleSoft WebServer和Apache OIDC模块以及用于SSO身份验证的Azure Identity进行了非常独特的集成。这是我当前的性能测试设置

  • 虚拟机数量-4
  • CPU / RAM-4vCPU / 32 GB
  • Weblogic-12个实例

下面的流程显示了带有PeopleSoft的Apache OIDC的初始化和重定向是如何发生的。

浏览器->负载均衡器-> Apache(OIDC)-> <-Azure->(Apache中的标头翻译)-> Weblogic Server

因此,总共有4个Apache实例和12个weblogic实例在这4个VM上运行。

现在,在当前的产品中,我具有与LB集成的用于身份验证的CAMS SSO,并且我们在LB节点中添加了weblogic服务器(12),该服务器在高峰时间内用时少于5秒为超过10,000个用户提供服务登录时间SLA。

因此,我们计划使用带有Apache OIDC模块的Azure SSO,将我们的Apache(4)节点添加到了LB,并且在通过Azure进行身份验证后,Apache会将声明传递给后端Weblogic服务器。

但是,瓶颈是登录的响应时间,因为使用上述架构我们无法扩展超过1000个用户,并且响应时间很高。我们可以看到,仅登录即可达到11秒钟以上,其余交易或导航在4秒钟之内。

PFB Apache httpd.conf片段:

LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule mime_module modules/mod_mime.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule headers_module modules/mod_headers.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule weblogic_module  modules/mod_wl_24.so
LoadModule auth_openidc_module modules/mod_auth_openidc.so
LoadModule mpm_event_module modules/mod_mpm_event.so

Listen 443
ServerName *****
SSLEngine On
SSLCertificateFile ****
SSLCertificateKeyFile ****

OIDCProviderMetadataURL <Microsoft URL>
OIDCRedirectURI <Vanity URL>
OIDCResponseType id_token
OIDCCacheShmMax 50000
OIDCSessionMaxDuration 1200
OIDCStateMaxNumberOfCookies 7
OIDCClientID ******
OIDCClientSecret ******
OIDCCryptoPassphrase *****

<Location />
  AuthType openid-connect
  Require valid-user
  RequestHeader set AUTH-USER "%{OIDC_CLAIM_samaccountname}e"
</Location>

<IfModule mod_weblogic.c>
   WebLogicCluster 123.123.123.123:8000,123.123.123.123:8020,123.123.123.123:8030
   MatchExpression /
   WLCookieName SITE-PSJSESSIONID
</IfModule>

<IfModule mpm_event_module>
    ServerLimit 16
    StartServers 8
    ThreadLimit 256
    ThreadsPerChild 128
    MinSpareThreads 512
    MaxSpareThreads 2048
    MaxRequestWorkers 2048
    MaxConnectionsPerChild 0
    MaxKeepAliveRequests 1000
</IfModule>



我们没有确定Apache大小以进行并发加载的经验,并且上述设置基于PT结果。但是,无法对其进行足够的微调以获得最佳结果。

因此,我不确定如何缩放Infra来减少登录时间,因为将更多的VM添加到架构中将无济于事,因为设置等效于Production。任何帮助将不胜感激!

0 个答案:

没有答案