Перенаправить HTTP на HTTPS (Middleware redirect vs Nginx) - PullRequest
2 голосов
/ 23 марта 2019

Я хочу спросить о HTTP-to-HTTPS перенаправлениях.Как мы знаем, WWW-to-none-WWW перенаправления происходят путем перенаправления со стороны веб-сервера.Но когда дело доходит до перенаправления https, это может быть сделано обоими способами, на стороне сервера (Nginx etc...) и на стороне приложения (Middleware).Я хочу знать:

  1. Какой из способов эффективен и имеет большую производительность.
  2. Плюсы и минусы каждого способа, если учитывать несколько top-level доменов и sub-domain доменов натот же сервер.

Спасибо.

Ссылка:

  1. Перенаправление WWW не-WWW в Laravel - Переполнение стека
  2. Перенаправление HTTP на HTTPS в Laravel - переполнение стека
  3. HTTP-запрос к HTTPS на nginx - nixCraft

1 Ответ

1 голос
/ 27 марта 2019

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

Лично я всегда делаю это в блоке nginx server {} для всех сайтов.Я создаю файл conf для домена и имею 2 блока server {}, основной из которых прослушивает 443 для трафика HTTPS, и небольшой, который просто распознает (суб) домен и выполняет перенаправление на протокол HTTPS.

Вот пример блока перенаправления сервера {}, который у меня есть для конкретного субдомена:

server {
    server_tokens off;
    listen 80;
    server_name sub.domain.com;
    return 301 https://sub.domain.com$request_uri;
}

Что касается плюсов для серверных баз, то я бы сказал, очевидные из них:

Плюсы

  • Производительность
  • Простота

Минусы

  • Требуется root-доступ (по крайней мере для nginx, Apache вы можете сделатьэто в файле .htaccess, но это само по себе влечет за собой снижение производительности)
  • Не можете так легко все изменить на лету (гибкость?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...