LINUX.ORG.RU

Как правильно настраивать редирект с http на https?

 , , ,


0

2

Многие статьи советуют делать это автоматически на сервере. Но насколько я помню, браузеры шлют заголовки о том нужно ли перенаправлять или нет, в таком случае, может правильно перенаправлять после того как сервер прочитает хедеры, хочет ли клиент перенаправления или нет, и только после этого перенаправлять?

Собственно, из спецификации следует, что принудительное перенаправление на сервере вообще не допустимо, сервер только может сообщить клиенту о том чтобы тот обращался по https в течении какого то времени

https://www.rfc-editor.org/rfc/rfc6797#section-6.1



Последнее исправление: newton1000 (всего исправлений: 1)
Ответ на: комментарий от newton1000

Только ты не в кафе. Контент есть или так или никак. А ты пытаешься натянуть сценарий когда сервер обслуживает клиентов и по http и по https. Но это не так. Сервер обслуживает клиентов только по https. http остался только для обратной совместимости

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 1)
Ответ на: комментарий от cobold

http имеет свои преимущества, такие как простота и производительность, на большинстве ресурсов https вообще не требуется. Это только для передачи конфиденциальных данных.

newton1000
() автор топика
Ответ на: комментарий от newton1000

клиент это запоминает

Ты же изначально про сервер говорил, чего вдруг про клиент начал рассказывать?

Я сказал, да они есть, как минимум это upgrade-insecure-request

Который сервер может проигнорировать. Сервер что угодно может проигнорировать, а клиент — нет, он либо делает как сказал сервер, либо досвидонья.

mord0d ★★★★★
()
Ответ на: комментарий от newton1000

За свою дерьмоколоу ты заплатил деньги. И делать редирект они должны были до получения денег.

А сервер тебе даёт грязную бумажку с надписью «ПНХ». И туда ты уже идёшь самостоятельно, делая новый запрос. В случае с своим кафе – ты сделал бы второй заказ.

Кстати, сколько ты заплатил за сайт?

sin_a ★★★★★
()
Ответ на: комментарий от newton1000

Когда я закатил скандал, они пытались это обосновывать тем что добрый это продукция кока-кола. Но это бред, ведь кока-кола много чего производит, например фанту, спрайт.

В России они ничего уже не производят. Те заводы, что были, на тех же мощностях и т.д. производят те же напитки, но теперь под новыми брендами: добрый-кола вместо кока-колы, добрый апельсин вместо фанты, и не знаю, как они там спрайт переименовали.

И если тебе приносят спрайт вместо кока колы это тоже не нормально.

Правильно, потому что это другой напиток. А тебе принесли именно тот, что ты просил, только с новой этикеткой.

В аптеке тоже, когда люди по привычке просят Аспирин, дают Ацетилсалициловую Кислоту. И это именно что ожидаемое поведение.

То, что ты устроил скандал из этого, да ещё и вместо того, чтобы стыдиться, гордо об этом рассказываешь, говорит больше о тебе, чем о том ресторане. Думаю, ты спокойно мог отказаться от банки того же напитка из-за не такой этикетки, без всяких скандалов, просто пояснив, что этикетка вызывает у тебя эстетическую неприязнь.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от sin_a

За свою дерьмоколоу ты заплатил деньги. И делать редирект они должны были до получения денег.

Деньги-то ты потом отдаёшь обычно так-то. На тот момент, когда еду/напитки приносят, клиент деньги ещё не отдал. Так что они в принципе и сделали до.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Здесь важен сам факт договора: товар_1 – деньги или товар_2 – деньги. У нас роль денег играет запрос. И сервер отдаёт данные только после прямого заказа кваса Никола, когда клиент после отказа дерьмоколы запрашивает нормальный напиток. А вот то кафе фактически занимались спуфингом, или как там эта атака называется.

sin_a ★★★★★
()
Последнее исправление: sin_a (всего исправлений: 1)
Ответ на: комментарий от sin_a

Не знаю… Мне кажется, что вот если бы они в фирменный стакан с логотипом Coca Cola на кухне налили какую-нибудь Evervess Cola и принесли, выдавая за коку/добрый, вот тогда это был бы спуфинг.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

Ну как.., я заказал товар_1, мне принесли товар_2. Мне должны были сказать «редирект, сегодня вместо иностранной отравы родные берёзки». И я должен был явно заказать родные берёзки, а так они эти берёзки в раковину вылили.

Другой вопрос, что сегодня фактический стандарт и фактический протокол в том, что все всё знают, а если некоторые выделываются то чисто для привлечения внимания к своей нечеловечески сияющей персоне. Но здесь у нас речь не об этом поэтому оставим это на совести автора.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

В приличных заведениях счет приносят после.

А сервер тебе даёт грязную бумажку с надписью «ПНХ». И туда ты уже идёшь самостоятельно, делая новый запрос. В случае с своим кафе – ты сделал бы второй заказ.

Я считаю что правила для любого «слуги» едины.

Кстати, сколько ты заплатил за сайт?

В смысле за VPS? Не помню, копейки. Там плата за месяц меньше 1000. домен в зоне ру стоит чуть больше сотни на год. SSL на полгода бесплатно. Это зависит от требований к дисковому пространству и тд. У меня дешевый вариант

newton1000
() автор топика
Ответ на: комментарий от sin_a

Что знают? Березки растут где то ближе к болотам, с чего это где нибудь на кубани они родными должны были стать, и кто это должен был «узнать»? Там внезапно и берлинских мишек нема

newton1000
() автор топика
Ответ на: комментарий от sin_a

Коко кола это легенда, культовый напиток, который выпускается с 19 века, слово кока означает кокаиносодержащее растение из Колумбии. До 2020-х годов компания не выпустила ни одного алкогольного напитка. Это оскорбление религиозных чувств. Если нужны березы, засунь березовый кол вместо калифорнийского процессора в свой китайский девайс, пусть станет полностью родным. Лучше осиновый

newton1000
() автор топика
Ответ на: комментарий от sin_a

кстати для северозападного региона родная тайга, а не березы. москва-питер, русь - ингерманляндия, наша метрополия. там полоса лиственных лесов узкая, буквально с десяток км. она не доходит даже до москвы. Около москвы уже елки кругом. В белорусии может быть много берез. В РФ такого места где их много вообще нет. Типичный ложный стереотип, вбитый совковой пропагандой

newton1000
() автор топика

HSTS это вообще про другое, про то чтобы браузер отказывался грузить страницу по HTTP. Сервер отдаёт этот заголовок и браузер запоминает «с этим доменом нельзя иметь дело по HTTP». Если браузер таки пришёл к тебе по HTTP, значит HSTS не активен (или браузер ещё ни разу не получал этот заголовок), значит ты можешь перенаправить на HTTPS, если хочешь.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Ну, в общем, да, с этим я более менее разобрался. Клиент должен слать хедер upgrade-insecure-request = 1, сервер должен отправить заголовок Strict-Transport-Security: max-age=1000;, браузер запоминает время и больше не обращается к данному ресурсу по http в течении указанного времени. Скорей всего все браузеры сейчас шлют upgrade-insecure-request = 1. Это надо будет проверить

newton1000
() автор топика
Ответ на: комментарий от sin_a

был. Алкоголь тоже тяжелый наркотик, если че. А кока-колу с кокаином пили с конца 19 века до 1929 и никто не сторчался. Потом кокаин запретили, они стали выпускать кока колу без алкалоида кокаина, но из того же сырья. Это всего лишь грязная политика. Когда кокаин был разрешен в США алкоголь был запрещен на уровне конституции.

newton1000
() автор топика
Ответ на: комментарий от sin_a

Это война Америки и Европы за создание комфортной среды, это либо в пользу колонистов из дряхлой европы, либо в пользу коренных американцев и латиносов. Европа традиционно алкорабская. Это в тч причина, почему вокруг кока колы столько шумихи. Символ эпохи и т.д

newton1000
() автор топика
Ответ на: комментарий от sin_a

Кстати, есть забавный курьез. Насколько я помню американскую конституцию в части поправок переписывать нельзя, из нее нельзя просто так взять и выдрать строчки, поэтому поправка отменяющая сухой закон написана поверх поправки о запрете алкоголя, с отдельным номером. Но это юридически ничтожная поправка, так как это равноценно переписыванию, и это единственный такой прецедент. Поэтому де юре в США алкоголь запрещен.

newton1000
() автор топика
Ответ на: комментарий от sin_a

Не исключено что на фоне текущих событий, когда они вспомнили про доктрину Монро, об этом тоже вспомнят. Если вектор будет тот же, многие европейцы, особенно северогерманского разлива, вместе с итальянской мафией, побегут из Америки как крысы. У нас крестный отец стал «классикой» именно из за того, что итальянская мафия всегда за спаивание Америки борется. Это ГБ весьма устраивало

newton1000
() автор топика
Ответ на: комментарий от newton1000

Он отвечает либо 301, либо 302. И если 302, то какое-то время. А если 301, то навсегда. И во втором случае предоставление сервера на 80 порту – всего лишь вежливость. Не более.

thegoldone ★★
()
Ответ на: комментарий от thegoldone

Это вообще неправильно. Нет такого стандарта. Оба варианта чушь. Такие ответы могут означать только одно: что запрашиваемая страница перемещена. Перенаправление на https не имеет к этому никакого отношения.

newton1000
() автор топика
Ответ на: комментарий от thegoldone

стандарт но не для этого случая

куда угодно допускается

кем допускается?

Ты говоришь абсолютные глупости есть гост на подшипники, давай ка применим его к женским носкам, роскомздрав не запретит lol

newton1000
() автор топика
Ответ на: комментарий от newton1000

Перенаправление на https это обычное «страница перемещена» и есть. Никакого особого статуса у этих редиректов нет. HSTS, как тебе уже выше рассказали, это не перенаправление текущего запроса, а информация на будущее. Более того, если запрос пришёл по http, то hsts-заголовок браузером будет проигнорирован. То есть применять его можно только после того, как ты редиректнешь на https с помощью 3xx ответа.

firkax ★★★★★
()
Ответ на: комментарий от thegoldone

HSTS ничего не подразумевает и не исключает. Оно означает ровно одно: если ты смог обратиться по https, обращайся дальше через него же в течение указанного времени. А уж какой смысл ты в него вкладываешь так это твоё личное дело.

firkax ★★★★★
()
Ответ на: комментарий от firkax

HSTS ничего не подразумевает и не исключает.

Подразумевает, исключает и смысл туда уже заложен. Это не деталь конструктора, а конкретное решение конкретной проблемы.

Единственное, от чего защищает HSTS, это в сценарии когда:

  1. Пользователь посетил ресурс по HTTPS.
  2. Срок жизни ещё не истёк.
  3. Пользователь посещает этот же ресурс по HTTP.

В этом случае браузер просто заменит запрос на HTTPS.

И человек посередине не сможет провести атаку.


Очевидно что HSTS не имеет смысла:

  1. Для ресурсов посещаемых реже чем max-age.
  2. Посещаемых однократно, без переходов по ссылкам из сомнительных источников.

И тут нет никаких дополнительных смыслов, которые можно было бы вложить. Это очевидное принудительное HTTPS для всего домена (иногда и поддоменов тоже).

И со стороны сервера это 301 для 80.

thegoldone ★★
()
Последнее исправление: thegoldone (всего исправлений: 1)
Ответ на: комментарий от thegoldone

Не надо выдавать своё мнение за какие-то обязательные нормативы. Мне никто не может запретить установить HSTS, но никаких 3xx редиректов при этом не делать и на 80 порту отдавать либо тот же сайт что на 443, но без HSTS, либо какой-то другой. Если у тебя от такого возникает дискомфорт и желание писать в мой адрес гневные сообщения на форуме - это твои личные психологические проблемы, и не более того.

Если же ты хочешь кому-то помочь - то можешь рассказывать (тем кому это интересно) причины реализации HSTS в браузерах, типичные сценарии его использования, и прочее. Автор данной темы вроде такого интереса не проявлял, остальные её участники - тоже.

firkax ★★★★★
()
Ответ на: комментарий от dicos

Нет. Файрфокс не подставляет никакую самодеятельность. Проверил в lynx - тоже не подставляет. Надо ещё в links и его форках проверить но мне лень его устанавливать.

firkax ★★★★★
()