【问题标题】:Server listening to localhost:8080 can Apache still listen to port 80?服务器监听 localhost:8080 Apache 还能监听 80 端口吗?
【发布时间】:2012-08-11 09:34:01
【问题描述】:

我在 linux 中有一个 C++ 服务器,使用 Mongoose 在端口 8080 上侦听 http 请求。我正在使用端口 8080,因为我有一个 Apache 服务器已经在使用端口 80。

我让我的 C++ 服务器监听 http 请求的原因是我可以接收 Facebook 发送的 http GET 以获取用户的 Facebook 信息。对于 Facebook 服务器端 Auth,我将重定向到 localhost:8080。

我正确地获取了从 Facebook 发送的信息,但现在 Apache 没有将我的 html 提供给客户端网页(如果我只重定向到本地主机,它可以正常工作)。

这两种方法都可以吗?客户端是否仍在尝试从端口 80 获取 index.html,还是希望 8080 现在发送这个?

【问题讨论】:

  • 默认情况下,Web 客户端(浏览器或其他客户端)总是尝试从端口 80 获取。必须明确告知它从其他端口获取。如果客户端没有连接到正常的网络服务器,你可能有一些重定向问题。
  • 该问题很可能作为您现有问题C++ Linux Server getting Facebook HTTP Authentication message 的后续[/edit] 提出。请考虑不要为项目的每一个小细节都提出一个新问题,如果这些小细节很适合现有的环境。谢谢。
  • 你做对了吗?怎么样??

标签: c++ linux facebook apache port


【解决方案1】:

80 等于 8080 吗?显然没有。所以这两个端口可能被不同的应用程序监听。 尝试使用 Wireshark(数据包分析器)检查收入请求。

【讨论】:

  • 我得到了wireshark并检查了正在发送的数据包。看起来它只是试图在端口 8080 上请求。我不确定如何解决这个问题。我是否应该发送一个小的 html 文件,将客户端重定向回端口 80,以便 Apache 可以继续发送必要的信息?
  • 如果你的浏览器默认连接到 8080 端口就很奇怪了。它必须首先连接到端口 80,然后如果存在某种重定向,它可能会尝试另一个端口。通过 'tcp.port == 80 || 过滤数据包tcp.port == 8080' 并仔细检查请求。如果没有对端口 80 的请求,请详细描述您尝试连接的方式。
猜你喜欢
  • 2017-03-13
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 2016-05-05
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
相关资源
最近更新 更多