【问题标题】:Warning when HTTP used instead of HTTPS使用 HTTP 而不是 HTTPS 时发出警告
【发布时间】:2013-02-03 17:11:39
【问题描述】:

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

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

【问题讨论】:

    标签: ssl https cherrypy


    【解决方案1】:

    我会创建一个自定义处理程序来实现您所追求的。这会自动重定向到 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)
    

    【讨论】:

    • 真的没有“如果 HTTPS 开启”类型的东西吗?在很多事情上你都不能信任推荐人……这似乎有点危险。
    • 其实有这样的东西。查看cherrypy.request.scheme 以获得不那么不稳定的替代方案。
    • 感谢您的建议。我不知道方案。
    猜你喜欢
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2011-05-03
    • 2021-07-14
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多