我的一台局域网机器 localhost 上运行着 Suse 服务器,它正在运行 Websphere 应用程序服务器。我还在同一台机器上运行 http apache。我已将无线路由器配置为在 localhost 上的 apache 上为我的站点打开端口 80,并打开端口 90 以访问我在 websheper 服务器上运行的应用程序。现在,当我使用默认端口 80 从互联网访问我的真实 ip 地址时,我可以看到我的站点。但当我访问端口 90 时,我无法访问我的应用程序。我已在防火墙上打开了端口 90,并在路由器上进行了正确的端口转发。
有人能帮我弄清楚为什么会这样吗?谢谢大家
答案1
只是检查一下清单
- websphere 是否正在运行并在端口 90 上监听?netstat -a
- 在同一台服务器上您能
telnet localhost 90
看到 websphere 服务器吗? - 如果这些不能解决问题,您可以
netstat -a
在sudo 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 或不同主机名从外部访问将不起作用。如果您不想区分各种应用程序,请在主机名中输入“*”以接受所有主机名。