【问题标题】:Websphere application server 8: access enterprise application without port in urlWebsphere应用服务器8:访问企业应用,url中没有端口
【发布时间】:2017-11-30 09:57:24
【问题描述】:

我正在开发一个企业应用程序并将其部署在 Websphere Application Server 8 上。如果我将 Web 容器的端口放在 url 中,我可以使用该 Web 应用程序,但如果没有端口号,它将无法工作。 即

http://<server_url>:<port>/<contextroot>/<entry/point/path>

工作,而

http://<server_url>/<contextroot>/<entry/point/path>

没有。 我系统管理员需要在服务器上配置一些东西才能将第二个 url 重定向到正确的端口,但我们不知道该怎么做。 已经为默认虚拟主机配置了别名

host name: *
port: <port>

我们还在服务器上安装了简单的 Web 应用程序(单耳大战),这些应用程序无需在 url 中指定端口即可工作

谢谢

编辑:更多信息(改编自评论),因为我有时间再次处理这个问题: 我们在生产服务器上安装了一个 WAS,但我也在本地安装了一个用于开发的 WAS,配置相同。我想先在我的本地机器上完成这项工作。我定义了两个虚拟主机:一个管理主机和一个默认主机。默认主机在端口 9080、80、9443、5060、5061 和 443 上有别名。我以 localhost:9080/ 访问我的应用程序。我只想避免在 URL 中声明 :9080?

EDIT2:如果我将 WC_defaulthost 更改为端口 80,我可以访问应用程序而无需在地址中说明端口,但 AFAICT 这是一个不好的做法。我可以以某种方式透明地将请求转发/重定向到正确的端口吗?

EDIT3:我在端口 80 上创建了一个传输链 WCInboundAdditional 侦听(以及 WCInboundDefault 在端口 9080 上侦听),它似乎可以在我本地安装的服务器上运行(即我可以通过 http://localhost/ 访问我的应用程序)。这是一个好习惯吗?

【问题讨论】:

    标签: websphere


    【解决方案1】:

    按可能性排序:

    1) 您正在规范端口 (80,443) 上运行 HTTP 服务器或代理服务器,但您的应用程序未映射到该前端服务器(这发生在 Web 模块级别)或者在 Web 服务器的情况下 w / WAS 插件,plugin-cfg.xml 自从这个模块被添加(或者因为它被映射到网络服务器)之后就没有被重新生成。

    对于网络服务器(如 IHS、IIS 等)内的 WAS 插件,在网络服务器配置中引用了 plugin-cfg.xml。如果您查看它,您将看到您的 URL 模式被转发到 WAS。

    2) 您可能在 WAS 层定义了多个虚拟主机,其中只有一个使用规范端口,并且不工作的应用程序未映射到该虚拟主机。

    这也发生在 web 模块配置级别。

    【讨论】:

    • 嗨!感谢您的回复,并为我迟到的回复感到抱歉,我终于有时间解决这个问题了。我安装了一个常规的 WAS(所以没有 IHS 或类似的)。我们在生产服务器上安装了一个 WAS,但我也在本地安装了一个用于开发的 WAS,配置相同。我定义了两个虚拟主机:一个管理主机和一个默认主机。默认主机在端口 908080944350605061443 上有别名。我以localhost:9080/&lt;ContextRoot&gt; 访问我的应用程序。如何避免 :9080 部分?
    猜你喜欢
    • 2011-08-02
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多