Используйте порты, отличные от 80 и 443, на Cloudflare.

Вопрос или проблема

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

Я попробовал использовать туннель cloudflared, и он работает хорошо, однако я знаю, что условия использования не позволяют использовать туннели для потокового видео, как Plex/kodi… и это одна из вещей, которые я хочу делать.

Предположим, я решаю использовать порты 2052 (http) и 2053 (https) вместо 80 и 443. Весь трафик должен будет использовать эти порты на роутере (то есть мой публичный IP), чтобы добраться до сервера, где NGINX proxy manager будет обрабатывать остальное, разделяя поддомены на сервисы. Я прошу помощи с пошаговым (для новичков в cloudflare) объяснением того, как я мог бы это настроить и использовать мой сайт. Я знаю, что это, вероятно, сделает URL некрасивым (subdomain.mydomain.com:port), но это должно, прежде всего, работать.

На основе первого ответа, я предполагаю, что это нужно подключить как-то так, как на этой иллюстрации
На основе первого ответа, я предполагаю, что это нужно подключить как-то так, как на этой иллюстрации

Хорошо, давайте по одному шагу за раз.

Cloudflare разрешит ваш домен на их IP-адреса в зависимости от местоположения запроса. Эти IP-адреса будут получать трафик и проксировать его на ваш IP-адрес.

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

На сайте Cloudflare мало что нужно делать с портами, они не будут переводить с одного порта на другой. Так что, если ваш запрос отправлен на порт 2052 со стороны клиента, он будет проксирован на порт 2052 на стороне сервера.

Поэтому убедитесь, что добавили правильный порт и протокол при осуществлении запроса. Например, https://example.com:2053

Что касается прямого вопроса, поставленного в заголовке, обратите внимание, что Cloudflare теперь имеет “Origin Rules”, которые позволяют поменять порт в зависимости, например, от имени хоста, пути URL и т.д.

https://developers.cloudflare.com/rules/origin-rules/features/#destination-port

Origin Rules находятся в бесплатном плане, но учитывайте, что (на момент написания) это, к сожалению, не позволяет динамически изменять порт в зависимости, к примеру, от параметров запроса. Каждое правило Origin Rule позволяет вам задать условие и фиксированный порт, на который будет перенаправлено, если это условие выполнено.

.

Ответ или решение

Теория

Настройка веб-сайта через Cloudflare с использованием альтернативных портов, таких как 2052 или 2053, представляет собой задачу, которую можно решить различными способами. Основная проблема, с которой вы столкнулись, заключается в том, что стандартные порты 80 и 443 уже заняты в вашем роутере, а управление над ним отсутствует. Таким образом, требуется организация рабочей схемы эксплуатации веб-приложений через другие порты.

Cloudflare — это сервис, который предлагает защиту и оптимизацию веб-сайтов, включая возможности проксирования через свои сервера. Обычно Cloudflare проксирует HTTP трафик через порты 80 (HTTP) и 443 (HTTPS), но также поддерживает и другие порты для определённых сценариев, таких как 2052 и 2053 для HTTP и HTTPS, соответственно.

Пример

Рассмотрим практический пример использования альтернативных портов. Предположим, что ваш сайт расположен на домене example.com, и вы хотели бы настроить его на работу через порт 2053 по HTTPS.

  1. Настройка DNS на Cloudflare: Перейдите в панель управления Cloudflare и убедитесь, что ваш домен настроен на использование Cloudflare DNS. Добавьте DNS-запись типа A, указывающую на IP-адрес вашего сервера, где будет находиться NGINX Proxy Manager.

  2. Настройка NGINX Proxy Manager: Установите и настройте NGINX Proxy Manager на вашем сервере. Создайте новый прокси-хост и укажите ваш домен (например, example.com). Убедитесь, что NGINX слушает на необходимом порту (например, 2053).

  3. Общие настройки на Cloudflare: Убедитесь, что на Cloudflare проксируется ваш домен (иконка облака должна быть оранжевой). Это позволит Cloudflare обрабатывать и передавать ваш трафик на нужный порт. Настройте SSL/TLS уровень безопасности до предпочтительного для вас (например, "полный").

  4. Создание правил управления: Теперь необходимо создать Origin Rules в Cloudflare. Перейдите в панель управления Cloudflare и найдите раздел “Rules” -> “Origin Rules”. Здесь вы можете указать смену порта в зависимости от домена или пути URL.

  5. Проверка работы: Удостоверьтесь, что запросы к https://example.com:2053 корректно обрабатываются и соответствуют вашим ожиданиям.

Приложение

Использование Cloudflare для проксирования трафика веб-сайтов через нестандартные порты предложения значительные возможности для гибкости и конфигурации. Вдобавок использование NGINX Proxy Manager позволяет более детально управлять трафиком и распределением на сервере. Убедитесь, что ваши правила безопасности правильно настроены, так как использование нестандартных портов может потребовать дополнительных мер защиты.

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

Также стоит помнить, что Cloudflare может ограничивать использование их туннелей для некоторых условий, таких как потоковое видео, как это было упомянуто относительно Plex/kodi, что необходимо учитывать при разработке и адаптации вашего решения.

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

Оцените материал
Добавить комментарий

Капча загружается...