Lektor CMS的反向代理

时间:2016-02-15 14:16:14

标签: lektor

Lektor服务器在localhost上的端口5000上运行。我想通过http://myhost.org/lektor的Apache URL访问它。因此,我尝试过httpd配置代码段

ProxyPass        /lektor http://127.0.0.1:5000
ProxyPassReverse /lektor http://127.0.0.1:5000

找到欢迎页面的HTML,但那里引用的静态页面(例如http://myhost.org/static/style.css)不是。如何让Lektor知道更改的URL?

2 个答案:

答案 0 :(得分:2)

开发服务器不适合用于生产。生产部署基于完全静态内容,如果您使用|url过滤器,则会正确解析静态资产。

答案 1 :(得分:1)

我的语法略有不同,我取得了成功:

ProxyPass / "http://localhost:5000/"
ProxyPassReverse / "http://localhost:5000/"

似乎需要尾随斜杠。我不确定你是否需要实际名称" localhost"在那里,但这对我有用。

我使用我的设置完成了以下附加项目,而且它非常光滑:

  • 在内部私有网络服务器上设置Lektor
  • 设置两个虚拟主机,例如lektor-web-dev.my.domain和lektor-web.my.domain
  • 在-dev域上设置自签名证书,并在其vhost配置(Apache)中使用上述ProxyPass项
  • 在-dev域上设置基本身份验证,因此至少有一个基本身份验证级别
  • 设置rsync deploy以使用SSH密钥对循环回localhost,并将输出文件复制到lektor-web.my.domain的webroot

现在,lektor-web.my.domain仍然在没有证书的私人网络服务器上。但是,在面向公众的Web服务器上,我通过SSL终止并代理到lektor-web.my.domain。我用letsencrypt获得证书。

这可以扩展到任意数量的网站。使用主管或其他流程管理系统使Lektor管理员保持运行。使用' lektor服务器-p portnum'为每个网站的管理员选择一个不同的端口。您可以使用HTTP基本身份验证以及htpasswd和htgroup文件对各种管理员进行基于组的访问。