Первый шаг - сказать Tor создать скрытый сервис и переадресовать подключения на Nginx. Отредактируйте файл /etc/tor/torrc, чтобы определить каталог скрытого сервиса и сопоставление портов:
# /etc/tor/torrc
HiddenServiceDir /var/lib/tor/my_hidden_service/
HiddenServicePort 80 127.0.0.1:8080
HiddenServiceVersion 3Эта конфигурация сообщает Tor слушать на виртуальном порту 80 и пересылать трафик на порт localhost 8080, где будет слушать Nginx. После сохранения перезагрузите Tor с помощью systemctl restart tor, и ваш адрес .onion будет сгенерирован в /var/lib/tor/my_hidden_service/hostname.
Для развёртывания на производстве рассмотрите возможность добавления HiddenServiceSingleHopMode и HiddenServiceNonAnonymousMode только если личность вашего сервера уже общеизвестна и вы хотите уменьшить задержку. Для большинства случаев, ориентированных на приватность, сохраняйте стандартные 3-хоповые цепи.