![](/img/trans.png)
[英]How to set TERM environment variable Apache + mod_wsgi + django
[英]Django with mod_wsgi how to set PYTHONHASHSEED env variable?
如何使用mod_wsgi運行django並將PYTHONHASHSEED環境變量設置為隨機? 在像這樣的django設置中設置它是一個好方法嗎?
os.environ['PYTHONHASHSEED'] = 'random'
mod_wsgi 4.1.0為此引入了一個選項( http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.1.0.html ); 你會添加到你的Apache配置:
WSGIPythonHashSeed random
如果無法運行該版本,則必須在Apache進程的啟動環境中設置該變量,該進程將特定於操作系統。 對於Fedora或RHEL 7,您可以創建/etc/systemd/system/httpd.service:
.include /lib/systemd/system/httpd.service
[Service]
Environment=PYTHONHASHSEED=random
然后是systemctl daemon-reload; systemctl restart httpd.service
systemctl daemon-reload; systemctl restart httpd.service
。 對於預先系統化的Red Hats,您可以編輯/ etc / sysconfig / httpd。 對於Debian,它是/ etc / apache2 / envvars。
這是一個WSGI文件來測試它是否正常工作(基於mod_wsgi文檔中的示例):
import sys
def application(environ, start_response):
status = '200 OK'
try:
hr = sys.flags.hash_randomization
if hr == 0:
output = 'Hash randomization disabled'
elif hr == 1:
output = 'Hash randomization enabled'
else:
output = 'Unknown hash randomization: ' + str(hr)
except AttributeError:
output = 'Hash randomization not supported'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.