我有一台纯粹的CherryPy服务器已经运行了几年。我最近决定添加SSL支持。在这种情况下,只需提供证书和密钥文件,并为变量cherrypy.server.ssl_certificate
和cherrypy.server.ssl_private_key
分配正确的值。
每当有人试图使用“http:// ...”代替“https:// ...”访问某个页面时,我想对此更改发出警告。有没有一种简单的方法来实现这一点,而我的系统没有很多变化?另一个选择是将HTTP访问重定向到HTTPS,这可以轻松完成吗?
答案 0 :(得分:3)
我会创建一个自定义处理程序来实现您所追求的目标。这会自动重定向到HTTPS。
class Functions():
def check_ssl(self=None):
# check if url is in https and redirect if http
if cherrypy.request.scheme == "http":
cherrypy.HTTPRedirect(Referer.replace("http:", "https:"))
cherrypy.tools.Functions = cherrypy.Tool('before_handler', check_ssl)