微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSL 配置,然后使用 httpd、modjk 和 openAM Fedlet 请求重定向到 JBOSS 以进行单点登录

如何解决SSL 配置,然后使用 httpd、modjk 和 openAM Fedlet 请求重定向到 JBOSS 以进行单点登录

SSL 配置不适用于 httpd ModJk 重定向到 jboss Web 应用程序,该应用程序通过用于单点登录的 fedlet saml2 方法与 OpenAM 集成。

由于我是第一次这样做,所以我请求对此提供一些帮助。我正在尝试通过用于单点登录的 fedlet saml2 方法为与 OpenAM(版本 11)集成的 Java Web 应用程序启用 SSL 配置。 SSL 配置完成,然后使用 httpd、modjk 和 openAM Fedlet 请求重定向到 JBOSS 以进行单点登录。在 OpenAM(版本 11)服务器控制台中,我通过配置 https 应用程序 URL 生成了 Fedlet,并在我们的应用程序中使用相同的 conf 文件夹与 openAM ldap 身份验证进行通信。当我在浏览器中点击应用程序 URL 时,请求被重定向到 OpenAM 进行 ldap 身份验证,并且在验证 LDAP 凭据后,它没有登录到应用程序。

遵循的步骤:

1   OpenAM deployed tomcat server is configured with SSL certificate using connector tag.
2   By accessing openAM console,created IDP server name (https://auth.test.app.com:443).
3   After that,i created fedlet in OpenAM for my web application by giving URL (https://auth.test.app.com:443/MyWebApplication)
4   Web Application is configured with conf folder of fedlet that was generated and deployed into jboss servers
5   openssl installed into apache httpd server and ssl configurations are made for ssl.conf,httpd.conf and modjk.conf files as specified in below (plz refer all configurations section provided below)
6   I am able to access app URL(https://auth.test.app.com/MyWebApplication/) in browser only when i did put entry into my local machine /etc/hosts/ file but i am doing all these changes in unix Box server(I should access URL in public internet but Not sure if i miss anything i am not able to access until i register in my local machine hosts file. With http option,i am able to access without registering domain in my local machine hosts file,when try to configure https,URLs is not accessible until I register domain in local hosts file).
7   When i browse app URL https://auth.test.app.com/MyWebApplication/,It is redirecting to OpenAM server URL(https://auth.test.app.com/Signin/UI/Login) for ldap authentication. 
8   After entering ldap credentials in OpenAM login URL,THEN it is not logging into my application using https protocol,it is breaking and no logs observed. The whole process is working fine when using HTTP protocol but it is failing when trying to configure HTTPS.

工艺流程图:

Click Here To See Flow Diagram

服务器详细信息:

APP URLs       -->  https://auth.test.app.com/MyWebApplication/,https://auth.test.app.com
MOd jk server  -->  10.xx.xxx.143
OpenAM server  -->  10.xx.xxx.152 (openAM console can be accessed using URL https://auth.test.app.com)
Jboss_servers  -->  10.xx.xxx.111,10.xx.xxx.222

所有配置文件

##----SSL.conf------##
default values
-------
----
Listen 443 https
<VirtualHost _default_:443>
ServerName auth.test.app.com
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile "/etc/apache2/2.2/server.crt"
SSLCertificateKeyFile "/etc/apache2/2.2/server.pem"
#My Web application using ajp protol
ProxyPass /* ajp://10.xx.xxx.111:443/MyWebApplication/
ProxyPassReverse /* ajp://10.xx.xxx.111:443/MyWebApplication/
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
#mounting jk property file
JkMount /* worker
</VirtualHost>

##----httpd.conf--------##
default values
-------
----
IncludeOptional conf.d/SSL.conf

##------modjk.conf--------##
default values
-------
----
JkMountFile conf/UriWorkerMap.properties
JkWorkersFile /etc/httpd/conf/worker.properties
<Location /jkstatus/>
    JkMount statusmanager
    Order deny,allow
    Allow from all
</Location>

##----UriWorkerMap.proeperties---------##
#APP Load Balancer
/MyWebApplication=applb
/MyWebApplication/*=applb

#OpenAM Server
/Signin=Signlb
/Signin/*=Signlb

##----worker.properties-----------------##
#Log
workers.apache_log=/var/log/httpd
#Worker List
worker.list=applb,approute1,approute2,Signlb,status
worker.status.type=status
worker.approute1.type=lb
worker.approute1.sticky_session=True
worker.approute1.balance_workers=node1

#Jboss Node1
worker.node1.port=8009
worker.node1.host=10.xx.xxx.111
worker.node1.redirect=node2
worker.node1.type=ajp13
worker.node1.lbfactor=1

#Jboss Node 2
worker.approute2.type=lb
worker.approute2.sticky_session=True
worker.approute2.balance_workers=node2
worker.node2.port=8009
worker.node2.host=10.xx.xxx.222

#OpenAM Server Route
worker.node4.port=8009
worker.node4.host=10.xx.xxx.152
worker.node4.type=ajp13
worker.node4.lbfactor=1

worker.Signlb.type=lb
worker.Signlb.sticky_session=True
worker.Signlb.balance_workers=node4
                                                                                                                      


##----OpeanAM-Tomcat Connector----##
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
    disableuploadTimeout="true" enableLookups="false" maxThreads="25"
    port="443" keystoreFile="/path/jksfile/keystorefile.jks" keystorePass="Password"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true"  sslProtocol="TLS" redirectPort="8443"/>
    
##---JBOSS -connector--------------##
<connector name="https" protocol= "org.apache.coyote.http11.Http11NioProtocol" scheme="https" socket-binding="https" secure="true">
                        <ssl name="jboss7_ssl" password="Password" certificate-key-file="/path/jksfile/keystorefile.jks" protocol="TLSv1+TLSv1.1+TLSv1.2"/>
</connector>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?