Назад | Перейти на главную страницу

Сервер с http и https (node.js) - лучший подход

У меня есть приложение с node.js и express.js сервер и я хочу предоставить доступ из 4 точек:

  1. https://www.example.com
  2. http://www.example.com
  3. https://example.com
  4. http://example.com

И я не уверен, что здесь лучше.

  1. запустить два сервера (https.createServer и http.createServer) и перенаправить все с http на https сервер
  2. или сделать редирект на панели домена?

А как насчет «www» и «не-www»? Его тоже надо ставить через хостинг / панель домена?
Это новая область для меня, и я понятия не имею, по крайней мере, я надеюсь, что это настоящий форум StackExchange. Любые ссылки с дополнительными пояснениями были бы замечательными

Лучше всего обрабатывать все это на реальном веб-сервере (Apache / nginx), за которым стоит сервер приложений через обратный прокси.

Еще один хороший вариант - использовать Caddyserver в качестве прокси, настроив его для ответа на все четыре домена, а затем прокси внутри вашего приложения.

С ним вы получаете все преимущества, упомянутые с nginx, плюс автоматический HTTP / 2 и SSL с Давайте зашифровать включая обработку продления. Вы можете использовать свои собственные сертификаты, если они у вас уже есть.

Установка и настройка на удивление просты.

Например, конфигурационный файл (Caddyfile как это называется) будет выглядеть (приблизительная оценка, на самом деле не проверено):

    www.example.com, example.com {
      tls you@email.com
      proxy / http://127.0.0.1:8080
    }

Самый простой способ - использовать Nginx (https://www.nginx.com) У него есть обратный прокси, поэтому вы можете обрабатывать несколько местоположений для одного и того же приложения. Вы даже можете настроить балансировочный погрузчик. Например, вы можете настроить путь с www, а другой - без www, один с http, а другой - с https. Все это без каких-либо прикосновений к приложению базы кода в node.