WebSphere 中的虚拟主机和配置指南 – 解释

已发表: 2015-06-07

什么是虚拟主机以及如何在 WebSphere Application Server (WAS) 中进行配置?

您将在 WAS 部署中听到的第一个术语是虚拟主机。 你们中的许多人问我有关虚拟主机和配置指南的问题,所以我在这里解释了以下内容。

  • 什么是虚拟主机?
  • 如何创建/配置?
  • 如何更改现有已部署应用程序中的虚拟主机?
  • 与虚拟主机相关的错误
  • 最佳实践

那么,什么是虚拟主机?

虚拟主机意味着通过关联的虚拟主机在单个应用程序上允许多个 URL(例如:example.com、example.net、example.biz、washost:9443、10.10.10.1:9060)。 这可以是基于 IP 的,也可以是基于名称的。 虚拟主机配置是通过 WAS 管理控制台完成的。

使用虚拟主机,您还可以定义 MIME 类型。 在默认的 WAS 安装中,您将拥有两个虚拟主机admin_hostdefault_host ,您可以使用它们,也可以为您的应用程序创建新的。 让我们看一下虚拟主机的下图。

虚拟主机是流

所以现在您了解了虚拟主机,接下来是创建和配置它

虚拟主机的创建是通过 WAS 管理控制台完成的,该控制台位于 Environment >> Virtual hosts 下。 让我们创建一个并命名它——sample_hosts

  • 登录到 WAS 管理控制台
  • 转到环境>>虚拟主机
  • 点击新建

您可以在我上面提到的上述列表中看到两个内置的虚拟主机。

默认虚拟主机是

  • 输入名称——sample_hosts

新的虚拟主机是

  • 点击确定

所以现在你有了一个新的虚拟主机,是时候配置它了。

您可以执行两种类型的配置,两种配置都位于“附加属性”下的虚拟主机内。

主机别名:在这里您可以输入 DNS/主机/IP 名称和端口,这将被允许使用此虚拟主机访问应用程序。

  • 转到环境>>虚拟主机
  • 从列表中选择虚拟主机
  • 单击主机别名
  • 点击新建
  • 输入主机名和端口
  • 单击确定并保存/查看配置,这是我创建的

sample_hosts-虚拟主机-was

MIME 类型:在这里您可以为您的应用程序添加/创建/修改 MIME 类型。 但是,默认情况下,WAS 将创建超过 640 种 MIME 类型,这些类型几乎涵盖了任何类型的应用程序。 此默认列表是在您创建任何虚拟主机时创建的。

  • 转到环境>>虚拟主机
  • 从列表中选择虚拟主机
  • 单击 MIME 类型
  • 单击新建以创建一个。 但是,正如我上面提到的,您很可能不需要创建,因为几乎所有类型的应用程序都将包含在默认列表中。

所以接下来是在已部署的应用程序中更改虚拟主机

可能存在您必须根据应用程序隔离虚拟主机的情况。 以下是如何更改任何应用程序的虚拟主机。

  • 登录到 WAS 管理控制台
  • 转到应用程序>> Websphere 企业应用程序
  • 选择您的应用程序并单击位于 Web 模块属性下的虚拟主机
  • 选择所需的虚拟主机,然后单击确定

更改虚拟主机是

  • 单击查看/保存配置。 您必须重新启动 JVM 才能反映虚拟主机。

您可能想知道虚拟主机配置存储在virtualhosts.xml中。 位置可能因环境而异,因此找到 virtualhosts.xml 确切位置的最佳方法是:–

在 UNIX 环境中

查找 / -name virtualhosts.xml

通过 WAS 控制台

当您在虚拟主机中进行任何更改时,它会要求您查看/保存。 单击 Review,它将显示虚拟主机的路径,它将保存配置。

现在是时候解决与虚拟主机相关的举世闻名的 WebSphere 错误了,这很可能是由于未配置或配置错误造成的。

与虚拟主机相关的错误

尚未定义用于处理 /test 的 WebGroup/虚拟主机 SRVE0255E:尚未定义用于处理localhost : 8080的 WebGroup/虚拟主机。

如果您在访问应用程序时遇到上述错误,那么您将在几分钟内了解如何修复它。

让我们仔细看看错误。 你必须看两件事,我用红色突出显示。

首先- localhost尚未定义

应用程序引发错误,因为 localhost 在相应虚拟主机的主机别名中不存在。 因此,快速解决方法是在您的虚拟主机中添加 localhost。

这也可能是当您有多个虚拟主机并且应用程序映射到不正确的虚拟主机时。 因此,您必须检查配置并确保 localhost 存在于请求的虚拟主机中。

第二——8080端口号

大多数情况下,您将使用 URL 和默认 Http/https 端口配置虚拟主机,即 80 或 443。但是,如果您想使用 JVM 和端口直接访问应用程序(绕过 Web 服务器),则需要输入 IP主机别名中的 /Host 和端口详细信息。

所以要解决这个问题 - 你必须确保将 localhost:8080 添加到虚拟主机,该主机映射到相应的应用程序。

本文的最后一部分——在 WAS 环境中使用虚拟主机的最佳实践

每个应用程序都是独一无二的,一种配置在其他应用程序中可能无法正常工作。 但是,您可能会遵循一些对我有所帮助的规则,希望您也一样。

  • 如果您在一个单元中有多个应用程序,您可以考虑为每个应用程序或至少为一组应用程序使用单独的虚拟主机。
  • 在进行任何更改之前备份 WebSphere 配置,这样如果出现问题,您可以恢复到原始状态而不会损坏。
  • 对虚拟主机进行更改后重新启动映射的 JVM,以便反映配置。
  • 传播(如果托管网络服务器)并生成 Web 服务器插件并重新启动 Web 服务器以反映配置。
  • 不要将 * 放在主机别名中,因为这意味着允许任何可能导致安全漏洞的 URL。

我希望您现在对 IBM WebSphere Application Server 中的虚拟主机有更好的了解。 这就是今天的全部内容,希望你喜欢。

如果您正在寻找学习 WAS 管理,那么您可以查看这个 Udemy 课程。