@lekam

Как сделать ссылку на локальный ресурс, если сервер за Cloudflare?

Есть сайт радиостанции, который находится на домашнем компе, есть белый IP и роутер, который умеет Iptables. Чтобы скрыть реальный IP используется Cloudflare. На роутере проброшены адреса Cloudflare до локального сервера.
В итоге сайт работает, а трансляция нет. Плеер выглядит так:
<audio >
  <source src="https://example.com:8000/audio" >
</audio>

Если заменить на <source src="https://192.168.0.100:8000/audio" > то внутри локалки работает.
iptables настроены так:
iptables -A PREROUTING -t nat -i eth1 -s <CF IP> -p tcp --dport https -j DNAT --to 192.168.0.100:443
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport https -j ACCEPT
iptables -A PREROUTING -t nat -i eth1 -s <CF IP> -p tcp --dport 8000 -j DNAT --to 192.168.0.100:8000
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 8000 -j ACCEPT


Как получить доступ к аудиопотоку извне?
  • Вопрос задан
  • 323 просмотра
Решения вопроса 2
@dronmaxman
VoIP Administrator
Почему бы не использовать 443 порт и настроить на web сервере с сайтом проксирование (nginx).

<audio >
  <source src="https://example.com/audio" >
</audio>

location ^~ /audio {
        proxy_pass https://192.168.0.100:8000/audio;
        proxy_read_timeout 3600;
        proxy_redirect off;
        proxy_request_buffering off;
        proxy_pass_header   Server;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        send_timeout 3600;
}
Ответ написан
Sanasol
@Sanasol Куратор тега Веб-разработка
нельзя просто так взять и загуглить ошибку
https://support.cloudflare.com/hc/en-us/articles/2...

CF нельзя использовать для любого трафика.
Только http и только на определенных портах.

Остальное только на платных тарифах.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы