【发布时间】: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