なんとなく Privacy Guides を読んでいたら、このブログを Onion Service にしたくなったのでやりました。
Tor で Onion Service を運用するには Tor が必要です。
コミュニティページに従ってインストールしてください。
同様にコミュニティページに従って Onion Service を有効にします。
Clearweb 用のコンフィグを複製します。
server_name ディレクティブを Onion Service を有効にした際に生成された hostname ファイルを参考に設定します。
nginx を再起動すると、この時点で .onion ドメインにアクセスすると、リンクが Clearweb のものになっていると思います。
次の手順でそれを直していきます。
本来は nginx で出来れば良かったのですが、Ubuntu の nginx ではセキュリティ上の理由から Lua のサポートが切られたようなので、PHP を用いて実装します。
$_SERVER['SERVER_NAME']で nginx の server_name を参照できるので、それを用いて SITE_URL を置換してやります。
以下が私の実装です。
$onion_host = '.onionドメイン';
if ($_SERVER['SERVER_NAME'] == $onion_host) {
define('WP_SITEURL',"http://$onion_host");
define('WP_HOME', "http://$onion_host");
}