我有一个关于 TOR 和 discourse 的小问题/疑问;
我已经设置了 TOR 和 discourse,并且它与 NPM(Nginx Proxy Manager)配合得很好;但为了更私密,我决定使用 CloudFlared argo tunnel 而不是 NPM,因为 CloudFlared 与 NPM 存在问题,因为它必须首先连接到原始 IP,例如错误(错误 1000:DNS 指向禁止的 IP);而 NPM 会代理它;所以我禁用了 NPM,然后继续使用 CloudFlared。
错误解释了以下内容,这可能有助于我们更接近地解决问题;
常见原因
- Cloudflare DNS 应用中的 A 记录指向 Cloudflare IP 地址,或负载均衡器源指向代理记录。
- 您的 Cloudflare DNS A 或 CNAME 记录引用了另一个反向代理(例如使用 proxy_pass 函数的 nginx Web 服务器),然后该反向代理将请求再次代理到 Cloudflare。
- 请求 X-Forwarded-For 标头长度超过 100 个字符。
- 请求包含两个 X-Forwarded-For 标头。
- 源处的服务器名称指示 (SNI) 问题或不匹配。
解决方案
- 如果 Cloudflare DNS 应用中的 A 记录指向 Cloudflare IP 地址,请将 IP 地址更新为您的源 Web 服务器 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 工作正常,但出于更高级别的安全和隐私考虑,我在此分享此问题。
编辑。