これを実現するにはより良い方法と簡単な方法がありますが、これを達成するためにできることは、request.static_url()
を呼び出すたびに_scheme='https'
パラメータを追加することです。 route_url
ようstatic_url
作品の
from pyramid.url import URLMethodsMixin
URLMethodsMixin.static_url_org = URLMethodsMixin.static_url # backup of original
def https_static_url(self, *args, **kw):
kw['_scheme'] = 'https' # add parameter forcing https
return URLMethodsMixin.static_url_org(self, *args, **kw) # call backup
URLMethodsMixin.static_url = https_static_url # replace original with backup
パラメータ:あなたはコースの編集pyramid/url.py
のことができますが、あなたはまた、あなたのプロジェクトの__init__.py
でこれを行うことができるために
。 _schemeがhttpsとして渡され、_portが渡されない場合_schemeがHTTPとして渡され、_portが渡されていない場合は、_port値は、同様に443として渡されていると想定されていることを
注:ドキュメントから_port値は80として渡されたと見なされます。この動作を回避するには、_schemeを渡すたびに明示的に_portを渡します。 設定「_scheme」を自動的に通常あなたがX-Forwarded-Proto
HTTPヘッダを通過することにより、HTTPではなくHTTPSを使用するようにWebサーバーを信号ポート443