2

假设我的应用程序在 domain 提供www.example.com

我应该如何(在哪里?)在 Pyramid 配置文件中指定它,以便函数request.route_url自动选择它并生成正确的 URL。

(我认为[server:main]不是这个地方)

4

2 回答 2

4

url 生成函数route_url,static_urlresource_url依赖于 WSGI environ 字典,它们从中获取生成完整 URL 所需的所有基本参数。

因此,一种方法是在请求创建时修改 WSGI 环境字典,并修改所需的参数。事件非常适合这种事情:

from pyramid.events import NewRequest
from pyramid.events import subscriber

@subscriber(NewRequest)
def mysubscriber(event):
    event.request.environ['HTTP_HOST'] = 'example.com'

在此之后,route_urlexample.com作为基本 URL。

于 2013-03-14T06:53:09.467 回答
1

是的,适当的反向代理将沿着适当的标头转发到您的 wsgi 服务器。有关 nginx 食谱,请参阅金字塔食谱。

于 2013-03-14T14:09:41.437 回答