Также не забудьте добавить правильные директивы set_real_ip_from в контейнер Discourse для IPv4 и IPv6-адресов фронтенда. (См. cloudflare.template.yml в качестве примера)
Спасибо за ваш ответ. Я использую внешний SMTP-сервер и другую CDN.
Cloudflare недостаточно для скрытия IP-адреса. iplogger. С помощью таких инструментов, как org, можно узнать IP-адрес. В настройках Discourse я не нашёл ничего, что могло бы предотвратить это. Таким образом, с помощью iplogger и ссылки, полученной из адреса org, можно узнать реальный IP-адрес сервера на входных точках форума.
Я планирую использовать Discourse для политической партии. Противники с противоположными взглядами используют множество способов атаки. Мне нужно сделать этот форум максимально надёжным.
Вот что я представляю себе:
VPS (установлен Discourse, внешняя CDN, внешний SMTP) — > обратный прокси (HAProxy, защита от DDoS на 7-м уровне, обратный прокси) — > Cloudflare
Чтобы отказаться от использования HAProxy/обратного прокси, мне нужно запретить URL в форуме. Я не знаю, как предотвратить это со всех входных точек.
Должно быть так: если Cloudflare не может скрыть его, то и ваш обратный прокси тоже не сможет. Но это возможно, значит где-то у вас ошибка в конфигурации. Что вы имеете в виду под «такими, как org»?
На самом деле речь идёт именно об этом. С помощью инструмента, доступного на «iplogger.org», можно создать URL. Если разместить такую ссылку в теме на форуме Discourse, можно узнать реальный IP-адрес сервера. Это происходит потому, что VPS, на котором установлен Discourse, делает прямой запрос к соединению, указанному внутри темы. В результате реальный IP-адрес сервера оказывается раскрытым.
В теме ниже говорится, что для исходящих запросов с сервера следует настроить прокси-сервер.
Я думаю, что это можно исправить, настроив ваш брандмауэр так, чтобы он разрешал подключения только с серверов Cloudflare. Таким образом, не будет иметь значения, известен ли ваш IP-адрес.
Для этого вам нужен прокси-сервер, а не обратный прокси. Вы можете найти бесплатные прокси-серверы через Google или запустить, например, Squid на виртуальной машине, которая принимает SSH-подключения только с вашего IP-адреса, возможно, за бастионом.
Я не совсем уверен, как настроить Discourse для его использования, но это может быть так же просто, как установка переменной окружения.