CloudFlared Argo TunnelとのTOR

TORとDiscourseに関する小さな質問/問題があります。

TORをDiscourseでセットアップし、NPM(Nginx Proxy Manager)で正常に動作しています。しかし、よりプライベートにするために、NPMの代わりにCloudFlared argo tunnelを使用することにしました。CloudFlaredはNPMと問題があり、最初にオリジンIPに接続する必要があるためです。例えば、エラー(Error 1000: DNS points to prohibited IP)が発生します。そしてNPMがそれをプロキシするため、NPMを無効にしてCloudFlaredを使用しました。

エラーは、問題を解決するのに役立つ可能性のある以下のことを説明しています。

一般的な原因

  • Cloudflare DNSアプリ内のAレコードがCloudflare IPアドレスを指しているか、ロードバランサーのオリジンがプロキシされたレコードを指している。
  • Cloudflare DNSのAまたはCNAMEレコードが、別のリバースプロキシ(proxy_pass関数を使用するnginxウェブサーバーなど)を参照しており、それがリクエストをCloudflareに再度プロキシしている。
  • リクエストのX-Forwarded-Forヘッダーが100文字を超えている。
  • リクエストに2つのX-Forwarded-Forヘッダーが含まれている。
  • オリジンでのServer Name Indication(SNI)の問題または不一致。

解決策

  • Cloudflare DNSアプリ内のAレコードがCloudflare IPアドレスを指している場合は、オリジンウェブサーバーのIPアドレスに更新してください。
    *** オリジンにリバースプロキシがあり、それがCloudflareプロキシにリクエストを戻している。リバースプロキシの代わりに、オリジンでHTTPリダイレクトを設定するようにホスティングプロバイダーまたはサイト管理者に連絡してください。** ← ここに注意してください。

NPMを無効にしてCloudflaredをフロントにセットアップした後、TOPアドレスにはDiscourseのタイトルのみが表示され、コンテキストが表示されません。

空白のページが表示されるわけではなく、タイトルは表示されます(これはコンテナとCloudflare間の接続が機能していることを意味します)が、コンテンツが空白で、nginx.confの値で修正できると信じています。

CloudFlareでは「無用」なNginxプロキシを無効にし、CloudFlared argo tunnelをサポートするためにこれらの値に置き換えてみました。

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は、ユーザーのプライバシーのために最近強く推奨されています。

CloudFlared argo tunnelを無効にしてNPMの「PORT」を使用(WebSocketではなく)すると、TORは完全に機能しますが、より高度なセキュリティとプライバシーの懸念から、この問題を共有しています。

Ed.