使用HTTP而不是HTTPS时发出警告

时间:2013-02-03 17:11:40

标签: ssl https cherrypy

我有一台纯粹的CherryPy服务器已经运行了几年。我最近决定添加SSL支持。在这种情况下,只需提供证书和密钥文件,并为变量cherrypy.server.ssl_certificatecherrypy.server.ssl_private_key分配正确的值。

每当有人试图使用“http:// ...”代替“https:// ...”访问某个页面时,我想对此更改发出警告。有没有一种简单的方法来实现这一点,而我的系统没有很多变化?另一个选择是将HTTP访问重定向到HTTPS,这可以轻松完成吗?

1 个答案:

答案 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)