通过NGINX的WSO2 IS 5.8.0仪表板

WSO2 Identity Server仪表板可帮助最终用户管理其利润,其帐户,会话,撤消/更新密码,管理OpenID配置文件等。

当使用负载均衡器代理版本低于5.8.0的Identity Server时,有时可能会收到“名称对SSL Peer主机名验证失败”的消息。 由于仪表板是在身份服务器内部运行的Web应用程序,因此它需要调用身份服务器管理服务Url。 但是,当它带有负载均衡器时,这些后端Service调用将通过负载均衡器。 因此,如果未在carbon.xml中配置主机名,则SSL主机名验证将失败。

为了克服这些复杂性,使用当前产品(IS 5.8),所有后端服务呼叫都在使用本地传输呼叫。 因此,此主机名验证不会再失败。

配置NGINX

为负载均衡器创建自签名证书并导入

  • 创建一个新的自签名证书

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out < LB_Public crt >

  openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out nginx.pem 
  • 将生成的证书导入到Identity Server的信任库(client-truststore.jks)中。

关键工具-import -trustcacerts -alias -file -keystore client-trustore.jks -storepass wso2carbon

  keytool -importcert-文件nginx.pem -keystore client-truststore.jks -alias“ nginx” -storepass wso2carbon 

如下配置Nginx配置

上游ssl.wso2.is.com {
服务器本地主机:9443;
}
服务器{
听443;
server_name wso2.is.com;
ssl on;
ssl_certificate /etc/nginx/ssl/wrk.crt;
ssl_certificate_key /etc/nginx/ssl/wrk.key;
位置 / {
proxy_set_header X-Forwarded-Host $ host;
proxy_set_header X转发服务器$ host;
proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
proxy_set_header主机$ http_host;
proxy_read_timeout 5m;
proxy_send_timeout 5m;
proxy_pass https://ssl.wso2.is.com;
proxy_http_version 1.1;
proxy_set_header升级$ http_upgrade;
proxy_set_header连接“升级”;
}
}

1.如果未在负载均衡器/防火墙中启用反向代理

然后我们需要在IS端启用反向代理。

如果无法在负载均衡器中启用反向代理,则通过更改carbon.xml文件中的代理主机和catalina-server.xml文件中的代理端口,可以从WSO2 Identity Server启用反向代理。

1.1。 配置代理端口

默认情况下,WSO2 Identity Server在9443端口上运行。 在这里,我将解释配置443代理端口的方式

  • 打开 /repository/conf/tomcat/catalina-server.xml文件,并如下所示在https连接器中添加代理端口443。
  <Connector protocol =” org.apache.coyote.http11.Http11NioProtocol” 
端口=“ 9443”
proxyPort =“ 443”

1.2。 配置代理主机

  • 打开 /repository/conf/carbon.xml文件,并如下配置主机名和管理主机名
   ssl.wso2.is.com  

如果您已配置代理主机和端口,则仪表板无需任何进一步配置即可工作 。 但是在这种情况下,后端服务URL也将通过代理传递。 为了克服这个问题,我们已经实现了利用本地传输呼叫的配置。

因此,如果您不想通过代理发送后端服务调用,则需要在site.json文件中配置以下内容。 但是,在site.json中进行配置时,您可以定义后端服务调用的路径。

1.3。 配置仪表板和门户以使用本地传输进行后端服务调用

在 / repository / deployment / server / jaggeryapps / dashboard / conf /目录中的site.json文件中,配置serviceOrigin(后端服务URL)。

  “服务”:{ 
“ serviceOrigin”:“ https:// localhost:9443”
},
“代理” : {
“ proxyHost”:“”,
“ proxyHTTPSPort”:“”,
“ proxyContextPath”:“”,
“ servicePath”:“ /服务”
}

同样,在 / repository / deployment / server / jaggeryapps / portal / conf / site.json中,也可以更改serviceOrigin(后端服务URL)。

  “服务”:{ 
“ serviceOrigin”:“ https:// localhost:9443”
},
“代理” : {
“ proxyHost”:“”,
“ proxyHTTPSPort”:“”,
“ proxyContextPath”:“”
},
“ fido”:{
“ appId”:“”
}