如何使用ibm cloud_使用IBM Cloud设置安全的混合云环境(2)

电脑杂谈  发布时间:2020-07-12 20:03:19  来源:网络整理

将下载的LocalServices证书导入CloudServer密钥库. 首先,打开命令行,然后转到 \ CloudServer \ resources \ security \. 然后,运行以下命令,其中是在步骤3b中保存PEM文件的位置:

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服务器

在“应用程序详细信息”窗口中,输入要在IBM Cloud中显示的应用程序的名称. 我们使用了CloudServices. 由于此名称将用作公共域名CloudService.mybluemix.net的一部分,因此它可能已在使用中. 在这种情况下,请尝试使用其他名称. 对于Buildpack URL,请将此字段留空,因为在本教程中我们将不使用它. 单击下一步.

IBM Cloud的名称和buildpack URL

在“开始部署”窗口中,您将看到在IBM Cloud中创建的服务器的主机名. 在这种情况下,主机名是CloudService.mybluemix.net. 您可能必须选择另一个主机名,因为它是一个公共域ibm websphere 单点登录原理,并且该名称不能重复. 您还可以查看和更改内存限制. 在这种情况下,512 MB的足够内存.

单击“验证”以查看主机名是否可用. 如果不可用,请进行更改. 单击下一步.

IBM Cloud上服务器的主机名和内存使用情况

在下一个窗口中,使安全网关保持未绑定状态,以便任何知道其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导出证书:

ibm websphere mq基础教程_ibm websphere 单点登录原理_ibm websphere使用教程

http://CloudServices.mybluemix.net/CloudServicesEJB/CloudMessageServiceService?WSDL

与上一步一样,将CloudServices.mybluemix.net替换为您的域.

下载CloudServices证书. 同样,我们使用Firefox,但是您可以使用其他具有类似步骤的浏览器来下载证书.

在浏览器中打开URL,然后用您的域替换CloudServices.mybluemix.net. 单击地址栏附近的小锁图标. 单击证书条目附近的箭头. 单击更多信息. 在打开的对话框中,单击“查看证书”. 在“详细信息”选项卡上,单击“导出”. 将证书导出为系统上某个位置的PEM文件.

前端应用程序使用基于HTTPS的SOAP来调用Web服务. 因此,您必须将CloudServices IBM Cloud证书导入到前端密钥库中.

首先,打开命令行,然后转到 \ FrontendServer \ resources \ security \. 然后,输入以下命令,其中是在步骤4b中保存PEM文件的位置:

keytool -importcert -file <certificate_file_with_absolute_path> -keystore frontendkey.jks -storepass passw0rd

要将FrontendServer部署到IBM Cloud,请对CloudServer配置文件重复完成的步骤. 区别在于域. 对于这种情况,我们使用FrontendServices.mybluemix.net. 您可能需要选择其他域,因为该域名是公共域名,并且不能在全球范围内重复.

现在在IBM Cloud上安装了两台服务器(一台用于CloudServer概要文件,一台用于FrontendServer概要文件).

IBM Cloud仪表板

要测试该解决方案,请输入以下URL,将FrontendServices.mybluemix.net替换为在IBM Cloud上部署时为FrontendServer概要文件选择的域名:

输入alice作为用户名,并输入passw0rd作为密码. 您现在将看到主页.

FrontendService主页

在左侧导航窗格中,单击“受限服务”链接. 如果设置正确完成,您将在页面正文中看到LocalServices应用程序发出的消息.

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#吴亦凡生日快乐

      • 梁清华
        梁清华

        现在人们买白菜都挑有虫子的

    热点图片
    拼命载入中...