Как перенаправить http: // на https: // как хостинг firebase - PullRequest
1 голос
/ 30 мая 2019

Хостинг Firebase уже имел перенаправления https: // в firebase.json.У меня есть приложение Angular, и для подготовки к SSR я перешел с хостинга Firebase на Cloud Run.Сначала я не знал, должен ли я связываться с Angular Universal или что-то для этого, я видел подобный вопрос здесь, но на него ответил Nginx, а это не то, что мне нужно.

Я пытался делать глупости с файлом server.ts, но это не было ответом.Я, честно говоря, не знаю точно, с чего начать.Я искал Google для ответа, в том числе документации по Google Cloud Run здесь:

https://cloud.google.com/run/docs/authenticating/public

, но я не знаю, куда идти.

Ответы [ 3 ]

2 голосов
/ 31 мая 2019

Внешний интерфейс Cloud Run обрабатывает как HTTP, так и HTTPS.От Cloud Run до вашего программного обеспечения, работающего внутри контейнера, через HTTP-порт 8080 (текущий порт по умолчанию, который может измениться).

Поскольку в вашем коде выполняется HTTP, вам необходимо определить заголовки HTTP, которые Cloud Run включает в себя.Запросы.Этот заголовок x-forwarded-proto.Этот заголовок сообщает, какие протоколы клиент использует для подключения к интерфейсу Cloud Run.Если протокол HTTP, то вашему программному обеспечению необходимо отправить перенаправление (HTTP 301) на правильный URI.

Следующий код отрывается при чтении заголовков запроса, проверяет x-forwarded-proto для HTTP и перенаправляет, если True.

if (req.headers['x-forwarded-proto'] != 'https')
    res.redirect('https://' + req.hostname + req.url)
1 голос
/ 01 июня 2019

Если вы довольны хостингом Firebase, вы можете продолжать использовать его вместе с Cloud Run: https://firebase.google.com/docs/hosting/cloud-run

Это позволяет сохранить такие приятные функции хостинга Firebase, как форсирование HTTPS, перезапись URL-адресов и указаниенекоторые ссылки на статический контент.

0 голосов
/ 30 мая 2019

Если вам разрешено создавать файл .htaccess, попробуйте следующее:

  1. Создайте .htaccess в домашнем каталоге вашего сайта
  2. Добавьте эти строки:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Перезагрузите ваш веб-сайт и дайте ему минуту для регистрации изменений.

В основном это приводит к тому, что любой URL-адрес, используемый для доступа к сайту, превращается в HTTPS: // URL.

https://www.siteground.com/kb/how-to-force-ssl-with-htaccess/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...