Skip to content

Commit 53699ff

Browse files
committed
Add doc about how to implement unsupported appconfig
1 parent a69577f commit 53699ff

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

docs/faq.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,28 @@ SAE环境不支持matplotlib的interative模式,所以无法使用 `pyplot.sho
215215
其中方法一适用于ttf和ttc字体,方法二适用于只适用于ttf字体
216216

217217
如果有 `matplotlibrc` 配置文件,请将该文件与index.wsgi放在同一个目录下(默认的当前路径)。
218+
219+
220+
.. _wsgi_middleware:
221+
222+
设置基于主机的访问控制
223+
----------------------------
224+
225+
python runtime目前无法通过config.yaml来配置基于主机的访问控制,用户如果需要这个设置,可以通过wsgi middleware来完成。 ::
226+
227+
def filter_middleware(app):
228+
def _(environ, start_response):
229+
remote_addr = environ.get('REMOTE_ADDR')
230+
231+
# 判断remote_addr是否在允许访问范围内
232+
# ...
233+
234+
if ok:
235+
return app(environ, start_response)
236+
237+
start_response('401 Unauthorized', [])
238+
return ["<b>401 Unauthorized</b>",]
239+
return _
240+
241+
# 给application加上访问控制的中间件
242+
application = filter_middleware(application)

docs/runtime.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ SAE Python会对应用导入的模块(包括index.wsgi)进行缓存,从而
155155

156156
3. 以上两条规则仅为兼容性考虑保留,不推荐使用,请在config.yaml明确配置。
157157

158+
4. 对于php runtime支持但是python runtime不支持的appconfig,请考虑使用wsgi middleware来完成,参见 :ref:`wsgi_middleware`
159+
158160
.. _pre-installed-package-list:
159161

160162
预装模块列表

0 commit comments

Comments
 (0)