Web services WebSphere:将web服务的端口从默认更改为443

Web services WebSphere:将web服务的端口从默认更改为443,web-services,ssl,websphere-6.1,Web Services,Ssl,Websphere 6.1,我使用以下示例创建了一个web服务: 当我调用web服务获取WSDL时,我使用如下URL: WebSphere会用一个WSDL页面响应,该页面的URL如下: 我希望WebSphere使用SSL和端口443响应,而不是WebSphere默认主机端口 我试图修改WebSphere控制台中的“提供HTTP端点URL信息”页面,以便应用程序使用“”作为“HTTP URL前缀”,但WebSphere即使在重新启动WebSphere之后也不使用此页面 如何配置WebSphere,使其在响应web服务请

我使用以下示例创建了一个web服务:

当我调用web服务获取WSDL时,我使用如下URL:

WebSphere会用一个WSDL页面响应,该页面的URL如下:

我希望WebSphere使用SSL和端口443响应,而不是WebSphere默认主机端口

我试图修改WebSphere控制台中的“提供HTTP端点URL信息”页面,以便应用程序使用“”作为“HTTP URL前缀”,但WebSphere即使在重新启动WebSphere之后也不使用此页面

如何配置WebSphere,使其在响应web服务请求时不使用默认端口

我正在使用WebSphere6.1

一些背景资料:

该服务包含在J2EE应用程序中,该应用程序使用Struts作为其设计模式。struts-config.xml配置为在端口80和443上为应用程序提供服务。应用程序运行的WAS服务器由Apache web服务器前置,该服务器通过负载平衡器将请求重定向到应用程序

AWS load balander配置在四个独立的WAS服务器之间引导请求,每个服务器提供应用程序的副本。每个WAS服务器都配置为向用户返回唯一的服务器ID字符串。AWS使用此字符串确定哪个WAS服务器将处理用户发出的后续请求。这对于由Struts处理的J2EE应用程序部分来说都很好,但是web服务存在于该上下文之外。这似乎就是web服务使用WAS默认安全端口而不是Struts中定义的端口进行响应的原因


我无法将WAS默认安全端口更改为443,因为在同一台服务器上不能有两个WAS实例同时侦听端口443。

通常,您有两个选择:
1.您可以安装IBMHTTPServer(IHS)和WebSphere插件来将请求路由到WebSphere。IHS默认使用80和443个端口。
2.更改WebSphere中的默认SSL端口-在
Server>Ports
中将
WC\u defaulthost\u secure
从944x更改为443

您的问题中还有第二个问题-您想使用SSL整个服务还是仅使用WSDL进行保护?
要配置它,您需要定义安全约束以保护选定的URI,或者将HTTP服务器配置为仅允许SSL访问服务

更新

如果前面有ApacheWeb服务器,则安装并配置WebSphere插件(如果您当前使用mod_proxy或其他东西)。WebSphere Plugin可用于Apache,并将跨多个WAS实例进行调度和负载平衡(如果它们是群集的,那么您可以从部署管理器自动生成插件,如果您有许多独立实例,您将需要合并插件,有一个用于此目的的工具)。
应用程序是否使用Struts并不重要,您的wsdl仍然可以通过Http服务器和插件提供服务。

要重定向到HTTPS,您需要从其他帖子中解决这个问题,因为我假设它是相同的环境。

我在帖子中添加了一些关于应用程序架构的附加信息。我已经有了ApacheWeb服务器来处理端口80和443上的请求。包含web服务的应用程序使用Struts为端口80和443上的页面提供服务,但不包括web服务URL,因为它们不使用Struts。另外,由于我正在跨同一服务器上的多个WAS实例对应用程序进行负载平衡,因此无法将WAS的默认安全端口更改为443。也许我需要对Apache Web服务器配置或应用程序本身的Web.xml做些什么?“你需要合并插件,有一个工具用于“你指的是什么工具?”实际上,“Web.xml中的安全约束没有强制执行”帖子是针对在同一服务器上运行的单独Web应用程序的。@MichaelSobczak是的,我确定。但是如果你不相信我,这里是v6.1的链接,你可以自己很容易找到-@MichaelSobczak如果你不需要80端口最简单的方法是在Apache中禁用80端口,否则你可以使用Apache()或WAS重定向(使用安全约束->机密,就像你在另一篇文章中所做的那样)。