0

我在 system1 上运行 moqui,可以使用 URL http://localhost:8080/Login访问它。尝试从其他系统 2(在网络中)访问它,使用 URL 将“localhost”替换为第一个系统的 IP;它显示第一个(登录)页面,但之后,当从 system2 提交页面时,URL 中的 IP 自动更改为“localhost”。我查看了这本书,也搜索了框架代码,但找不到与此相关的内容。

这可能是什么原因,应用程序中是否有任何设置可以解决这个问题?

4

1 回答 1

3

为 webapp 配置主机和端口有两个部分。一个是用于 servlet 容器,因此它知道要听什么,另一个是在 Moqui 框架本身中,因此它知道在生成 URL 时要使用什么。听起来您遇到的问题是第二个问题,即 URL 生成。

在您的运行时 Moqui XML Conf 文件中,应该有一个类似于 MoquiProductionConf.xml 文件中的 webapp 元素:

<webapp name="webroot" http-port="" http-host=""
        https-port="" https-host="" https-enabled="false"
        content-prefix-secure="" content-prefix-standard="" cookie-domain="">
    <root-screen host=".*" location="component://webroot/screen/webroot.xml"/>
</webapp>

当没有指定 @http-host/etc 属性时,将使用来自 HttpServletRequest 对象的值。这些将根据您用于部署 Moqui 框架的 servlet 容器的设置而有所不同。

要将其设置为明确的内容,您可以使用 http-host,如果需要,还可以使用 https-host、http-port 和 https-port 属性。对于虚拟主机支持,http-host 和 https-host 属性应该为空,并且 servlet 容器(以及它前面的任何代理/等)应该配置为通过请求的主机名。

于 2015-07-01T07:16:19.077 回答