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

什么是虚拟主机以及如何在WebSphere应用服务器(WAS)中进行配置?

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

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

那么,什么是虚拟主机?

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

使用虚拟主机,您还可以定义MIME类型。在默认情况下,您将拥有两个虚拟主机admin_hostdefault_host,您可以使用它们或为您的应用程序创建新的虚拟主机。让我们来看下面的虚拟主机示例。

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

通过WAS管理控制台创建虚拟主机,位于环境 >> 虚拟主机下。让我们创建一个名为sample_hosts的虚拟主机。

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

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

  • 输入名称 – sample_hosts

  • 点击确定

现在您有了一个新的虚拟主机,是时候配置了。

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

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

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

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

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

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

在某些情况下,您可能需要根据应用程序对虚拟主机进行分类。以下是更改任何应用程序的虚拟主机的方法。

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

  • 点击审查/保存配置。您必须重新启动JVM才能使虚拟主机生效。

您可能会对虚拟主机配置存储在virtualhosts.xml中的位置感兴趣。位置可能因环境而异,因此找到virtualhosts.xml的确切位置的最佳方法是:-

在UNIX环境中

find / -name virtualhosts.xml

通过WAS控制台

当您对虚拟主机进行任何更改时,它会要求您进行审查/保存。点击“审查”,它将向您显示保存配置的虚拟主机路径。

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

与虚拟主机相关的错误

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

如果在访问应用程序时出现上述错误,则您将在几分钟内学会如何修复它。

让我们仔细看看这个错误。有两件事你需要注意,我用红色标出来。

第一localhost尚未定义

应用程序抛出错误,因为Host Aliases中不存在localhost。快速修复方法是在您的虚拟主机中添加localhost。

当您拥有多个虚拟主机且应用程序映射到不正确的虚拟主机时,也可能会出现此问题。因此,您需要审查配置,并确保localhost存在于请求的虚拟主机中。

第二8080端口号

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

因此,为了修复这个问题 – 您需要确保将localhost:8080添加到虚拟主机,该虚拟主机映射到相应的应用程序。

本文的最后一节 – WAS环境中使用虚拟主机的最佳实践

每个应用程序都是独特的,一个配置可能不适用于其他应用程序。但是,您可以遵循一些规则,这些规则对我有帮助,希望对您也有帮助。

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

我希望您现在对IBM WebSphere应用程序服务器中的虚拟主机有了更好的理解。今天就到这里,希望您喜欢。

如果您想学习WAS管理,请查看此链接:Udemy course

类似文章