Pythonanywhere Web2Py重定向到HTTPS

时间:2014-11-07 13:54:10

标签: python web2py pythonanywhere

我创建了一个webproject Web2Py,希望用户能够访问http:// http://的{​​{1}}版本的页面。

每次我输入http://domain.pythonanywhere.com并将我重定向到http://domain.pythonanywhere.com

它的时间为0.5秒。进行SSL检查,我想避免这种情况。

这是默认值:

## if SSL/HTTPS is properly configured and you want all HTTP requests to
## be redirected to HTTPS, uncomment the line below:
# request.requires_https()

2 个答案:

答案 0 :(得分:5)

PythonAnywhere dev here:看起来像我们这边的bug。我们" pin"我们自己的网站使用HTTPS,因此人们总是转到https://www.pythonanywhere.com/,但看起来可能已经泄漏到客户网站。

为了清楚起见 - 如果有人前往http://yourusername.pythonanywhere.com/,那么我们最初不会强迫它访问https网站 - 他们会获得http网站。但如果他们转到https://yourusername.pythonanywhere.com,那么他们的浏览器会记住他们已访问过https域,因此所有未来的请求都会重定向到那里。

这实际上是一种良好的做法(它适用于security problems),但我们不应该强迫它们使用。

[更新]错误现已修复,非常感谢boje指出我们:-)一个警告 - 如果您在我们应用修复程序之前通过HTTPS访问过您的网站,那么您&#39 ; ll仍然被迫使用HTTPS。您需要清除浏览器历史记录以查看新的取消固定行为。

答案 1 :(得分:2)

我遇到了一个问题,让http://重定向到https://我在here找到了google群发帖。以下代码可能会为您提供有关您的问题的一些想法,在db.py add:

############ FORCED SSL #############
from gluon.settings import global_settings
if global_settings.cronjob:
    print 'Running as shell script.'
elif not request.is_https:
    redirect(URL(scheme='https', args=request.args, vars=request.vars))
    session.secure()
#####################################