【问题标题】:Secured website on Tomcat 7 404Tomcat 7 404 上的安全网站
【发布时间】:2016-04-27 16:00:24
【问题描述】:

我已经在 Tomcat 7 上配置了一个使用 BASIC 身份验证的应用程序。 在开发中测试工作正常,但在生产环境中我没有收到任何东西。在 chrome 控制台中,我可以看到 404 not found 错误。

但是如果我执行 curl 命令,我可以到达页面。

 curl -vv -u username:password http://10.XXX.XXX.21/historia/es/index.jsp

谁能帮帮我?

PS:如果我编辑了请求标头,添加了身份验证(在 Firefox 中),我收到了 200 状态,但页面显示为白色。我什么都不懂。

提前致谢!

【问题讨论】:

  • ... 并且 curl 与 Chrome 请求来自同一主机?对不起,愚蠢的问题,但这会产生很大的不同。
  • 不是,curl 来自同一网络中的另一台机器。我无法在此服务器中使用 chrome。谢谢!

标签: tomcat7


【解决方案1】:

我认为在生产中您尝试从外部网络连接到服务。尝试添加地址“0.0.0.0”来监听所有地址。 在 server.xml 中尝试如下编辑。

<Connector port="8080" protocol="HTTP/1.1" 
           maxHttpHeaderSize="65536" 
           connectionTimeout="20000" 
           redirectPort="8443"
           address="0.0.0.0" />

之后关闭并启动tomcat

【讨论】:

  • 另一个问题可能是您的 URL 中缺少端口。通常tomcat在8080端口上运行,必须添加。尝试在 10.XXX.XXX.21:8080/historia/es/index.jsp 上发出 GET 请求。我猜 10.XXX.XXX.21 是您的外部 IP,如果不是,您应该在端口 8080 上使用端口转发。希望对您有所帮助。
  • 嗨 Radulescu,我尝试了您的配置,但仍然失败。
【解决方案2】:

10.XXX.XXX.21 是私有地址,您可以从网络内部调用它。您可以将连接转发到该主机,但这是另一回事。为什么你得到 404 而不是 host-not-found?好吧,在另一个网络中,带有 chrome 的那个 - 你可以使用相同的 ip。

【讨论】:

  • 当我在 web.xml 中禁用安全性时,页面工作正常。我总是在网络内部调用(ip 或主机名以避免平衡器、DNS 等问题)我认为某些配置可能会中继我的标题响应。我尝试了其他应用程序,但它失败了。
  • 所以我不明白这个案例。但是,您可以在 $CATALINA_BASE/conf/logging.properties 中为身份验证打开日志:org.apache.catalina.realm.level = FINEST org.apache.catalina.authenticator.level = FINEST。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多