У меня небольшой вопрос/проблема с TOR и Discourse.
Я настроил TOR с Discourse, и всё работает отлично через NPM (Nginx Proxy Manager). Однако для большей приватности я решил использовать CloudFlared Argo Tunnel вместо NPM, так как у CloudFlared есть проблемы с NPM: он должен сначала подключаться к исходному IP-адресу. Например, ошибка: Error 1000: DNS points to prohibited IP, а NPM выступает в роли прокси, который это делает. Поэтому я отключил NPM и перешёл на CloudFlared.
Ошибка описывает следующие возможные причины, которые могут помочь нам решить проблему:
Распространённые причины
- Запись A в приложении Cloudflare DNS указывает на IP-адрес Cloudflare, либо балансировщик нагрузки указывает на проксирующую запись.
- Запись A или CNAME в DNS Cloudflare ссылается на другой обратный прокси (например, веб-сервер nginx, использующий функцию proxy_pass), который затем повторно проксирует запрос в Cloudflare.
- Заголовок X-Forwarded-For запроса превышает 100 символов.
- В запросе присутствуют два заголовка X-Forwarded-For.
- Проблема или несоответствие Server Name Indication (SNI) на исходном сервере.
Решение
- Если запись A в приложении Cloudflare DNS указывает на IP-адрес Cloudflare, обновите IP-адрес на IP-адрес вашего исходного веб-сервера.
*** На исходном сервере работает обратный прокси, который отправляет запрос обратно через прокси Cloudflare. Вместо использования обратного прокси обратитесь к поставщику хостинга или администратору сайта для настройки HTTP-перенаправления на исходном сервере.** ← обратите внимание здесь.
После отключения NPM и настройки cloudflared на фронтенде отображается только заголовок Discourse, но не его содержимое.
Это не пустая страница без заголовка… заголовок отображается (что означает, что соединение между контейнером и Cloudflare работает), но контент пустой. Я считаю, что изменение значений в nginx.conf поможет решить эту проблему.
Я попытался отключить прокси Nginx, который теперь “бесполезен” с Cloudflare, и заменить его следующими значениями для поддержки Argo Tunnel CloudFlared:
proxy_pass http://unix:/home/f1r4s/discourse/shared/standalone/nginx.http.sock:;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
#proxy_set_header Host $http_host;
#proxy_http_version 1.1;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Real-IP $remote_addr;
Может, кто-то поделится знаниями, как решить эту проблему? Поскольку TOR и CloudFlared в наши дни настоятельно рекомендуются для обеспечения приватности наших пользователей.
Обратите внимание: когда я отключаю Argo Tunnel CloudFlared и использую NPM (порт, но не веб-сокеты), TOR работает идеально. Однако из-за более строгих требований к безопасности и приватности я делюсь этой проблемой.
Ed.