Конфигурация Nginx для форума Discourse через Tor

Всем привет,

Я хочу настроить Discourse как скрытую службу Tor с использованием nginx. Вот конфигурация, которую я пытаюсь применить в nginx (она не работает, ошибка “сервер не найден”):

server {
    listen unix:/var/run/nginx-onion.sock;
    server_name prostadqmwc6no3n.onion;
    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
        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.conf есть следующее:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 unix:/var/run/nginx-onion.sock

В директории /var/lib/tor/hidden_service у меня есть файлы имени хоста и закрытого ключа. Tor запущен.

Discourse установлен и работает в обычной сети, и файл /var/discourse/shared/standalone/nginx.http.sock существует.

Если потребуется, я готов оплатить кому-нибудь около часа работы, чтобы всё заработало (думаю, это займёт не больше времени, так как, скорее всего, я просто что-то упустил).

Вы смотрели Template for serving through an .onion address with Docker?

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

Вы нашли решение?

И ещё, как вам удалось запустить сам Discourse в tocker для адреса .onion? (Мне нужен форум, доступный только через Tor)

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

server {
    listen 801;
    server_name 127.0.0.1;
   location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
        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?

Заранее спасибо!

Это виртуальная машина Digital Ocean с 2 ГБ ОЗУ и 105 пользователями. Мы не вносили никаких изменений (кроме установки плагина, позволяющего обслуживать сайт одновременно через Tor и обычную сеть).

Ещё один вопрос: у вас нет проблем с тем, что пользовательские изображения (например, фоновая карточка, баннер профиля и т. д.) загружаются очень долго (я предполагаю, что это из-за Tor)? После кэширования они отображаются нормально.

Я не совсем уверен, как работают адреса пользователей в Tor. Но у меня все IP-адреса вошедших пользователей отображаются как 127.0.0.1, что я и ожидал, хотя я установил заголовок x-forwarded-for в nginx.

Я не знаю, есть ли у пользователей Tor что-то похожее на IP-адрес внутри самой сети Tor, и как заставить это отображаться.

Возможно, потребуется использовать set_real_ip_from