一个选项是enfold proxy,这可能是最先出现的事情之一。当时我没有意识到有免费版本,否则我可能会先调查一下;现在你仍然可以从我的经验中受益。
所以如果你不想使用 enfold 那还有另一种选择。
基本上你要做的是设置一个反向代理。
如果您已经走到这一步,您大概已经安装了 IIS(互联网信息服务)(如果没有安装,您可以通过 Web 平台安装程序找到它)。
你需要的其他东西是:
- 网址重写模块
- ARR(应用程序请求路由)
- Plone 安装在您的一台服务器/机器上
这些也可以通过网络平台安装程序找到(您大概也可以直接从微软网站下载其中任何一个)
- 您想从那里打开 IIS,
- 从列表中选择ARR(如果看不到,可能需要打开
IIS 直接而不是通过服务器管理器,如果那是什么
你做到了)
- 检查启用代理选项
- 确保勾选使用 URL 重写选项(在代理类型下)
- 并在反向代理文本框中输入 [pathToServer]:[port]
如果 plone 与 IIS 在同一台服务器上 pathToServer 将只是 localhost,否则它是您的服务器的路径。端口将是您在构建文件中设置的任何内容(默认为 8080)[自然而然,您在那里取出方括号]
现在只需要设置重写规则即可
- 从 IIS,打开 URL 重写模块
- 打开新创建的入站规则(很可能称为 ARR_server_proxy)
- 在匹配 URL 下,您希望使用正则表达式匹配模式
- 这里的模式应该是^(.*)
- 从那里,在操作下选择重写
- 在重写网址部分:
输入:
http://[pathToServer]:[port]/VirtualHostBase/http/[mysiteisthis.com]:80/[nameofplonesite]/VirtualHostRoot/{R:1}
例如我的可能是:
http://localhost:9090/VirtualHostBase/http/mysite.com:80/Plone/VirtualHostRoot/{R:1}
这个 virtualhostbase 和 virtualhostroot 是 Plone 的一部分(在 Zope 层中),称为虚拟主机怪物。它基本上告诉它在您浏览网站时让网站显示为 mysite.com
只是让您了解第 4 部分。
^ 表示 URL 的开头, .表示任何东西,* 表示任意次数。这里的圆括号告诉我们,其中的任何内容都将被捕获以供以后使用(在这种情况下,它将进入 {R:1})您可以查找正则表达式以获取有关它是什么以及其他使用方式的更多信息。