2014-11-07 3 views
2

Я создал веб-проект Web2Py и хотел бы, чтобы пользователь обращался к страницам на обычном http:// instaed от http://.Pythonanywhere Web2Py перенаправление на HTTPS

Каждый раз, когда я печатаю http://domain.pythonanywhere.com и перенаправляю меня на http://domain.pythonanywhere.com.

It taces 0.5 sec. чтобы проверить 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() 

ответ

5

PythonAnywhere разработчика здесь: Это выглядит как ошибка на нашей стороне. Мы «привязываем» HTTPS к нашему собственному сайту, так что люди всегда идут на https://www.pythonanywhere.com/, но похоже, что это могло просочиться на сайты клиентов.

Просто для наглядности - если кто-то отправится в http://yourusername.pythonanywhere.com/, мы сначала не заставим его перейти на сайт https - они получат http один. Но если они перейдут на https://yourusername.pythonanywhere.com, то их браузер будет помнить, что они посетили домен https, поэтому все будущие запросы будут перенаправлены туда.

Это на самом деле вообще хорошая практика (она работает вокруг целого числа security problems), но мы не должны заставлять ее людей.

[UPDATE] исправлена ​​ошибка, большое спасибо boje за то, что указали нам на нее :-) Одно предостережение - если вы когда-либо посещали ваш сайт через HTTPS, прежде чем мы применили исправление, то вы все равно быть вынужденным к HTTPS. Вам нужно очистить историю своего браузера, чтобы увидеть новое неподтвержденное поведение.

+0

Я попытался инкогнито страницы, и он до сих пор прыгает с HTTP: // на https: //, но если я используйте IE8, он остается на http: // Так что, возможно, это работает, но трудно узнать, когда это может быть «pin» HTTPS. Может ли заседание быть очищено, так что все начинается с свежего? Для тестирования – boje

+0

Правильно, я просто обнаружил то же самое о инкогнито, когда я тестировал исправление для этого. Оказывается, что настройка «force HTTPS для этого сайта» переносится с ваших сеансов без инкогнито в инкогнито. Инкогнито работает только в другом направлении - то есть, если вы впервые посетили сайт через HTTPS * внутри сеанса инкогнито *, то сила-HTTPS не будет перенесена на сеансы без инкогнито. Думаю, это имеет смысл. То же самое относится к истории браузера, вы можете увидеть свою историю не-инкогнито в сеансе инкогнито. –

+0

Во всяком случае, я исправил проблему: материал force-HTTPS работает только для самого сайта PythonAnywhere, а не для вашего собственного домена. Но вам нужно очистить историю вашего браузера, чтобы увидеть изменения :-( –

2

У меня была проблема, позволяющая http: // перенаправить на https: // И я нашел сообщение группы google на here. Следующий код, возможно, дать вам некоторые идеи о вашей проблеме, Под db.py добавить:

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

1. cronjob больше не беспокоится, так как «планировщик» - это способ пойти , 2. Вы можете создать новую модель 'secure.py'. Таким образом, вы можете использовать '.gitignore' только для этой функции на сервере, но не для локального' 127.0.0.1: 8000' – laviex

Смежные вопросы