pythonanwhere Web2Py重定向到HTTP

2024-04-26 14:52:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个webprojectweb2py,希望用户访问正常的http://上的页面。在

每次我输入http://domain.pythonanywhere.comet,都会将我重定向到http://domain.pythonanywhere.com。在

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()

Tags: to用户httpscomhttpsslifis
2条回答

PythonAnywhere dev here:这看起来像是我们这边的一个bug。我们为我们自己的站点“固定”HTTPS,这样人们总是转到https://www.pythonanywhere.com/,但看起来这可能泄露到了客户站点。在

为了清楚起见,如果有人去http://yourusername.pythonanywhere.com/,那么我们不会一开始就强迫它去https站点,他们会得到http站点。但是如果他们随后转到https://yourusername.pythonanywhere.com,那么他们的浏览器就会记住他们访问过https域,因此所有将来的请求都会重定向到那里。在

这实际上是一个很好的实践(它适用于很多security problems),但我们不应该强迫人们这样做。在

[更新]这个bug现在已经被修复了,多亏了boje给我们指出了这个问题:-)一个警告:如果在我们应用修正之前,您曾经通过HTTPS访问过您的站点,那么您仍然将被迫使用HTTPS。您需要清除浏览器历史记录才能看到新的未固定行为。在

我有一个问题,让http://重定向到https://我在here上找到了google group post。下面的代码可能会给您一些关于您的问题的想法,在数据库添加:

############ 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()
#####################################

相关问题 更多 >