我创建了一个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()
答案 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()
#####################################