python – 在子路径下托管Pyramid webapps

weixin_38060297 2019-09-12 12:30:08
我们有一个托管设置,我们有一个顶级域名,我们在子路径下托管Web应用程序.例如: /projects -> Plone /interal -> Tomcat etc 在这种情况下,我们需要一种方法来告诉后端的Web应用程序它的基本路径是什么,以便它可以正确地生成其视图和静态内容的链接.对于上面的例子,这很好. 我们刚刚开始使用由女服务员服务的金字塔,但到目前为止我们还没弄清楚如何做到这一点.是否有一种干净的方式在Waitress中配置此基本路径,或者是否有一个更灵活的应用服务器,我们可以使用它来支持Pyramid?
...全文
24 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38065750 2019-09-12
  • 打赏
  • 举报
回复
WSGI中的所有内容都与当前请求相关.您只需要正确设置环境(通常由您的WSGI服务器). 例如,如果request.environ [‘SCRIPT_NAME’] ==’/ projects’,您的Web应用程序将知道它已安装在子路径/项目中.如果您希望应用程序与其挂载点无关,则可以简单地对其进行编码,就好像它在/ foo / bar处提供视图一样.然后你通过一些中间件将你的应用程序安装在/ projects上,这些中间件可以正确改变环境(mod_wsgi和其他一些服务器应该能够自动为你做这个).现在当传入的URL是/ projects / foo / bar时,environ [‘SCRIPT_NAME’] ==’/ projects’和environ [‘PATH_INFO’] ==’/ foo / bar’,你的应用可以专注于相对路径. 在Pyramid中,这可以归结为你的ini中的一个额外步骤,在那里你将前缀中间件添加到你的WSGI堆栈.中间件为您处理变更环境中的PATH_INFO和SCRIPT_NAME键. [app:myapp] use = egg:myapp # ... [filter:proxy-prefix] use = egg:PasteDeploy#prefix prefix = /projects [pipeline:main] pipeline = proxy-prefix myapp

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧