3

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

每当有人尝试使用“http://...”而不是“https://...”访问页面时,我想就此更改发出警告。有没有一种简单的方法可以在我的系统中不做很多更改的情况下实现这一目标?另一种选择是将 HTTP 访问重定向到 HTTPS——这很容易做到吗?

4

1 回答 1

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)
于 2013-02-04T12:46:53.803 回答