从互联网访问应用服务器

从互联网访问应用服务器

我的一台局域网机器 localhost 上运行着 Suse 服务器,它正在运行 Websphere 应用程序服务器。我还在同一台机器上运行 http apache。我已将无线路由器配置为在 localhost 上的 apache 上为我的站点打开端口 80,并打开端口 90 以访问我在 websheper 服务器上运行的应用程序。现在,当我使用默认端口 80 从互联网访问我的真实 ip 地址时,我可以看到我的站点。但当我访问端口 90 时,我无法访问我的应用程序。我已在防火墙上打开了端口 90,并在路由器上进行了正确的端口转发。

有人能帮我弄清楚为什么会这样吗?谢谢大家

答案1

只是检查一下清单

  1. websphere 是否正在运行并在端口 90 上监听?netstat -a
  2. 在同一台服务器上您能telnet localhost 90看到 websphere 服务器吗?
  3. 如果这些不能解决问题,您可以netstat -asudo iptables -L此处粘贴。

答案2

读完上述查询后,

似乎您忘记在 WebSphere 的环境 Websphere 变量中添加 90 端口。因为端口 80 是默认环境变量。

Webpshere/环境/Websphere变量

答案3

当你访问 90 端口时,你会看到什么?超时?错误页面。

我同意第一个答案,即在本地检查是否有任何东西在监听 90。如果是,看看是否可以通过类似 telnet 命令的方式到达 90 telnet hostname 90:。

但是,最后,您如何配置 WebSphere 以侦听端口 90?WebSphere 的内部 Web 容器默认侦听 https 的端口(如 9080 和 9443),因此要使用像 90 这样的低端口,您通常需要在 WebSphere 前面安装和配置像 Apache 这样的 Web 服务器,并安装和配置 WebSphere 插件。

请记住,无论是否有前端 Web 服务器,您都必须向应用程序正在使用的 WebSphere 虚拟主机添加主机别名,以便它响应端口 90。

答案4

复制了我的答案您对 SuperUser 的疑问

你检查过你的虚拟主机设置?

在 ISC 中导航至环境 -> 虚拟主机 -> “your_virtual_host” -> 主机别名

(“your_virtual_host” 是应用程序定义的虚拟主机名。)

您将在此定义用于此虚拟主机的主机名 + 端口组合。例如,如果您仅将“localhost”定义为主机名,则通过 IP 或不同主机名从外部访问将不起作用。如果您不想区分各种应用程序,请在主机名中输入“*”以接受所有主机名。

相关内容