Java 如何使用NGINX为j2eeweb应用程序配置keydepot?

Java 如何使用NGINX为j2eeweb应用程序配置keydepot?,java,ssl,nginx,jboss,keycloak,Java,Ssl,Nginx,Jboss,Keycloak,我的web应用程序如何使用KeyClope进行设置? 已在服务器计算机中安装KeyClope 在Jboss服务器中部署web应用程序 在运行web应用程序的计算机中的Java Keytool中添加了KeyClope证书 在JBOSS ES6.4的Standalone.xml文件中做了以下更改 添加了扩展名 <extension module="org.keycloak.keycloak-adapter-subsystem"/> <connector name="https"

我的web应用程序如何使用KeyClope进行设置?

  • 已在服务器计算机中安装KeyClope
  • 在Jboss服务器中部署web应用程序
  • 在运行web应用程序的计算机中的Java Keytool中添加了KeyClope证书
  • 在JBOSS ES6.4的Standalone.xml文件中做了以下更改
  • 添加了扩展名

     <extension module="org.keycloak.keycloak-adapter-subsystem"/>
    
    <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enable-lookups="false" secure="true">
                    <ssl name="ssl" key-alias="initcert" password="keycloak" certificate-key-file="C:\Code_Base\keycloak_certificates\keycloak_server\keycloak.jks" protocol="TLSv1,SSLv3,SSLv2" verify-client="false"/>
    </connector>
    
    
    
    添加了安全域

    <security-domain name="keycloak">
                        <authentication>
                            <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
                        </authentication>
     </security-domain>
    
    
    
    添加了连接器

     <extension module="org.keycloak.keycloak-adapter-subsystem"/>
    
    <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enable-lookups="false" secure="true">
                    <ssl name="ssl" key-alias="initcert" password="keycloak" certificate-key-file="C:\Code_Base\keycloak_certificates\keycloak_server\keycloak.jks" protocol="TLSv1,SSLv3,SSLv2" verify-client="false"/>
    </connector>
    
    
    
    添加子系统

     <subsystem xmlns="urn:jboss:domain:keycloak:1.1">
                    <secure-deployment name="MyApp.war">
                        <realm>MYRealm</realm>
                        <resource>MyApp</resource>
                        <use-resource-role-mappings>true</use-resource-role-mappings>
                        <auth-server-url>https://<Server IP>/auth/</auth-server-url>
                        <ssl-required>NONE</ssl-required>
                        <credential name="secret">5c9f6ea3-3448-4569-b6c4-a9e62de4db52</credential>
                    </secure-deployment>
                </subsystem>
    
    
    我的王国
    MyApp
    符合事实的
    https:///auth/
    没有一个
    5c9f6ea3-3448-4569-b6c4-A9E62DE4B52
    
    所以上面的更改工作正常,我的web应用程序显示KeyClope登录页面,成功登录后显示我的web应用程序主页

    现在,我需要在HA模式下使用负载平衡器NGINX运行keydepot,这样NGINX将位于前端,NGINX将决定在点击
    https:///auth
    及以下已完成的工作

    已经做了什么?

  • 已在Node1中安装HA密钥斗篷并正在运行
  • 已在Node2中安装HA密钥斗篷并正在运行
  • 已在Node3中安装公共数据库(由上面的KeyClope使用)并正在运行
  • 在Node4中安装了NGINX并正在运行
  • 使用NGINX配置keydave(步骤1和步骤2)
  • 现在NGINX url(
    https:///auth
    )显示Key斗篷的登录页面,并且登录也正常工作

  • 现在,有人能告诉我在Jboss中需要做哪些更改,以便在新设置中使用。

    您基本上需要做相同的配置,但是在standalone ha.xml中,而不是standalone.xml

    但是现在有多个keydove,所以我必须为证书做两个条目?我必须给出NGINX的url,而不是密钥斗篷,但证书是一个问题。为什么不在NGINX级别终止SSL?请详细说明一下。我已经为密钥斗篷1、密钥斗篷2生成了证书,nginx的SSL终止。现在在我的本地机器上,我在Jboss服务器上部署了war文件。现在你能告诉我本地Jboss中有什么变化吗?