【问题标题】:Why my web app behind a firewall returns my ip address instead of domain name?为什么我在防火墙后面的 Web 应用程序返回我的 IP 地址而不是域名?
【发布时间】:2016-06-06 10:38:53
【问题描述】:

我一直在开发一个可以在我的笔记本电脑上正常运行的网络应用程序。

它在办公室本地 Web 服务器上运行良好(通过 本地 ip 172.22.1.1 访问),但是当他们把它放在防火墙后面并为其分配一个 静态 ip 84.- -- 使用 域名 mywebsite.com(dns 正确解析静态 ip),出现问题。

例如,当我将用户重定向回来时,它没有转到域名,而是返回到 172.21.1.1。 然后我做了echo $_SERVER['HTTP_HOST'];,我看到它返回的是本地IP而不是域名。

现在我不知道是什么问题?是与防火墙设置有关还是与服务器设置、虚拟主机或...有关。

Moodle:同样的问题也出现在moodle上,当我用本地IP分配$CFG->wwwroot时它工作正常,但是当防火墙和静态IP启用时,我将它设置为$CFG->wwwroot = 'http://mywebsite.com/lms'; ,并给出以下错误

"检测到访问不正确,此服务器只能通过以下方式访问 “http://mywebsite.com/lms”地址,对不起。

我在 moodle 文档中读到了关于在防火墙后面使用 moodle 和 伪装,但我不知道如何解决。


注意:

  • 本地和外部访问都存在此问题(防火墙后)
  • 我没有更改任何 apache 或主机或其他配置
  • 网站位于网络服务器的根目录中。

【问题讨论】:

  • 这听起来像是您的应用程序配置 (config.php) 或 BD 值中遗漏了一些东西。
  • 请注意,$_SERVER['HTTP_HOST'] 是由客户端设置的。试试$_SERVER['SERVER_NAME']
  • @AUsr19532 试过了,结果和主机一样:/
  • 也许this 有帮助

标签: php linux apache firewall moodle


【解决方案1】:

您的反向 DNS 设置正确吗? 也许它无法解析名称并归还IP。 尝试添加 rDNS 信息,正如 AUsr19532 所说,也尝试使用 $_SERVER['SERVER_NAME']。

【讨论】:

  • 如果防火墙转发WEB端口,并且有DNS服务,我们也转发UDP/53端口。
猜你喜欢
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 2015-11-03
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多