CherryPy是否可以将HTTP重定向到HTTPS。让我们举例说下面的代码是http://example.com,如果有人通过https://example.com访问我希望将它们重定向到普通的HTTP URL(301重定向可能?)我该如何做到这一点?
#!/usr/bin/env python
from pprint import pformat
from cherrypy import wsgiserver
def app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return [pformat(environ)]
server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 80), app)
try:
server.start()
except KeyboardInterrupt:
server.stop()
答案 0 :(得分:6)
您可以检查request.scheme
是否为“https”,然后您可以提出重定向。
答案 1 :(得分:0)
Andrew Cox的链接再次被打破,这是更新的链接。我没有足够的观点评论他的答案,因此是新答案。
https://cherrypy.readthedocs.org/en/3.3.0/refman/_cprequest.html#cherrypy._cprequest.Request.scheme