将下载的LocalServices证书导入CloudServer密钥库. 首先,打开命令行,然后转到
keytool -importcert -file <downloaded_certificate_absolute_path> -keystore cloudkey.jks -storepass passw0rd
要将CloudServer应用程序部署到IBM Cloud:
在本地CloudServer上重新发布CloudServices应用程序. 在“服务器”视图中,右键单击CloudServer应用程序,然后选择“发布”. 停止CloudServer. 将整个CloudServer应用程序部署到IBM Cloud. 右键单击IBM Cloud,然后选择添加和除去. 在“添加和删除”窗口中,从左侧的“可用”窗格中选择CloudServer,然后单击“添加”将其移至右侧的“已配置”窗格. 然后,单击完成.
在“应用程序详细信息”窗口中,输入要在IBM Cloud中显示的应用程序的名称. 我们使用了CloudServices. 由于此名称将用作公共域名CloudService.mybluemix.net的一部分,因此它可能已在使用中. 在这种情况下,请尝试使用其他名称. 对于Buildpack URL,请将此字段留空,因为在本教程中我们将不使用它. 单击下一步.
在“开始部署”窗口中,您将看到在IBM Cloud中创建的服务器的主机名. 在这种情况下,主机名是CloudService.mybluemix.net. 您可能必须选择另一个主机名,因为它是一个公共域ibm websphere 单点登录原理,并且该名称不能重复. 您还可以查看和更改内存限制. 在这种情况下,512 MB的足够内存.
单击“验证”以查看主机名是否可用. 如果不可用,请进行更改. 单击下一步.
在下一个窗口中,使安全网关保持未绑定状态,以便任何知道其IP的应用程序都可以调用它. 点击完成.
在Eclipse控制台视图中,请注意有关配置活动的所有日志. 部署可能需要几分钟. 部署成功完成后,您将在日志中看到一条消息,指出CloudServices应用程序已启动.
转到IBM Cloud控制台中的仪表板,您将看到新的IBM Cloud服务器已启动并正在运行. 在仪表板上,打开与CloudServices应用程序关联的详细信息. 您将看到服务器实例,分配的内存和日志文件的数量. 从详细视图中,您还可以执行基本操作,例如停止和启动服务器.
FrontendServer配置文件的部署过程与CloudServer配置文件的部署过程类似.
在FrontendWeb / src / it.ibm.fe.samples.servlets路径的AbstractMessageServlet.java文件中更改String端点URL:
protected void doService(HttpServletRequest request, HttpServletResponse response, ServiceResults serviceResults) throws ServletException,
IOException
{
...
String serverName = request.getServerName();
String endpointURL = "https://CloudServices.mybluemix.net/CloudServicesEJB/CloudMessageServiceService";
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
...
}
使用您的实际域更改CloudServices.mybluemix.net.
从以下URL导出证书:

http://CloudServices.mybluemix.net/CloudServicesEJB/CloudMessageServiceService?WSDL
与上一步一样,将CloudServices.mybluemix.net替换为您的域.
下载CloudServices证书. 同样,我们使用Firefox,但是您可以使用其他具有类似步骤的浏览器来下载证书.
在浏览器中打开URL,然后用您的域替换CloudServices.mybluemix.net. 单击地址栏附近的小锁图标. 单击证书条目附近的箭头. 单击更多信息. 在打开的对话框中,单击“查看证书”. 在“详细信息”选项卡上,单击“导出”. 将证书导出为系统上某个位置的PEM文件.
前端应用程序使用基于HTTPS的SOAP来调用Web服务. 因此,您必须将CloudServices IBM Cloud证书导入到前端密钥库中.
首先,打开命令行,然后转到
keytool -importcert -file <certificate_file_with_absolute_path> -keystore frontendkey.jks -storepass passw0rd
要将FrontendServer部署到IBM Cloud,请对CloudServer配置文件重复完成的步骤. 区别在于域. 对于这种情况,我们使用FrontendServices.mybluemix.net. 您可能需要选择其他域,因为该域名是公共域名,并且不能在全球范围内重复.
现在在IBM Cloud上安装了两台服务器(一台用于CloudServer概要文件,一台用于FrontendServer概要文件).
要测试该解决方案,请输入以下URL,将FrontendServices.mybluemix.net替换为在IBM Cloud上部署时为FrontendServer概要文件选择的域名:
输入alice作为用户名,并输入passw0rd作为密码. 您现在将看到主页.
在左侧导航窗格中,单击“受限服务”链接. 如果设置正确完成,您将在页面正文中看到LocalServices应用程序发出的消息.
在群集解决方案中,您必须考虑会话亲缘关系. 考虑我们在此解决方案中使用的SSO模型. 您根据身份提供者进行身份验证. 身份提供者将生成一个SAML令牌,并将其发布回服务提供者. 服务提供者使用SAML令牌中的信息来创建安全上下文. 服务提供商会记住SAML令牌,因为它需要SAML令牌才能将用户的身份传播到Web服务.
在传统的群集环境(不在云中运行)中,通过启用会话关联,可以避免多次启动新的SSO进程的风险. 如果您有许多服务器实例,并且启用了会话亲缘关系,则群集前面的HTTP服务器会生成一个亲缘令牌(群集中服务器实例的字符串标识符)并将其附加到会话cookie. 这样,浏览器发出的每个请求始终位于群集的同一应用程序服务器实例上. 在IBM Cloud中,我们没有集群,那么我们如何解决这个问题呢?
Cloud Foundry(CF)规范引入了多实例云环境中的HTTP路由和会话亲和性的概念. 我们在FrontendWeb应用程序项目中实现了会话亲和力. 要查看启用会话关联的代码,请从Eclipse工作区中打开/FrontendWeb/WebContent/affinitySetup.jsp文件. 以下代码段中显示的代码已被修改为可以在IBM Cloud上运行.
boolean sessionfound = false;
Cookie[] cs = request.getCookies();
if (cs != null)
{
for (int index = 0; index < cs.length; index++)
{
Cookie c = cs[index];
if (c != null)
{
if (c.getName() == null)
continue;
else if (c.getName().equalsIgnoreCase("JSESSIONID"))
{
sessionfound=true;
break;
} else if (c.getName().equalsIgnoreCase("__VCAP_ID__"))
{
sessionfound=true;
break;
}
}
}
}
if (!sessionfound)
{
request.getSession(true);
}
您已经实现了安全的SSO架构,并将其部署到IBM®IBMCloud实施中. 您还配置了安全隧道,以使用IBM Secure Gateway将私有Intranet服务公开给云中运行的公共服务. 您学习了如何在多实例应用程序中实现会话关联. 在本系列的第3部分中,您将使用简单且受保护的GSS-API协商机制(SPNEGO)和Active Directory域服务来在云上扩展SSO方案以集成Microsoft Windows身份验证.
翻译自:
如何使用ibm云
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-278016-2.html
#吴亦凡1106生日快乐##吴亦凡##吴亦凡BadGirl#吴亦凡生日快乐
现在人们买白菜都挑有虫子的
现在见俄打击有效抢风头