有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的glassfish服务器会重定向到另一台服务器?

我从一位去世的前开发人员那里继承了一个正在工作的项目,或者我会问他怎么了

我有两台glassfish服务器,运行在两台运行Ubuntu的不同机器上,监听HTTP 8080和HTTPS 8081。在两个系统上都有iptables条目重定向端口80->;8080和端口443->;8081似乎有效。在每一个平台上,我都运行一个JSF应用程序

在服务器A上,当我导航到http://serverahttp://servera:8080http://servera/app1http://servera:8080/app1时,它会重定向到https://servera/app1。这很好,因为我想使用HTTPS,我希望服务器默认为运行在那里的web应用

在服务器B上,情况有些不同:

当我导航到http://serverbhttp://serverb:8080https://serverbhttps://serverb:8081时,我会被重定向到http://servera(wtf?)

当我导航到http://serverb:8080/app2时,我会看到在serverb上运行的app2。 当我导航到https://serverb:8081/app2时,我会通过https访问在serverb上运行的app2

我比较了两台服务器之间的glassfish配置,没有发现HTTP服务或网络配置部分之间有任何明显的差异。我还浏览了域名。serverb上的“servera”的xml,未找到任何事件

在serverb上,使用lsof -i :portnumber我看到在8080和8081上唯一监听的是我的glassfish服务器,而在80或443上没有监听任何内容

我在这里寻找一些关于从哪里开始解决两个问题的提示: 1) 我需要在glassfish配置中更改什么,以便serverb从http重定向->;像servera一样使用https

2)当我没有在url中的主机名后指定应用程序时,为什么serverb会重定向到servera?在glassfish和iptables之外,是否有一些配置可以帮助我理解为什么会发生这种情况?也许我在玻璃鱼配置中遗漏了什么


共 (1) 个答案

  1. # 1 楼答案

    最后发现serverb上有一个索引。glassfish域的docroot文件夹(glassfish4/glassfish/domains/domain1/docroot/index.xhtml)中的xhtml,其中包含以下行:

    <meta http-equiv="refresh" content="0; http://servera/app1

    。。。那就是执行重定向。我无法通过浏览器判断,但当我检查curl-vhttp://serverb的输出时,我发现有一个中间页面正在加载