【问题标题】:How to make a nginx reverse proxy direct to tor hidden service?如何使 nginx 反向代理直接连接到 tor 隐藏服务?
【发布时间】:2021-06-04 17:03:24
【问题描述】:

是否可以通过 Tor 隐藏服务建立 clearnet 网站隧道? 例如,某人拥有 blah.com,它指向服务器 IP 1.2.3.4,但希望 1.2.3.4 向隐藏服务发出代理请求。

关键是要有一个清晰的“外观”网站,同时将网站本身的内容保存在隐藏的服务器上,基本上是 proxy_pass 会做的,除了它需要连接到本地主机。

有什么想法可以/可以做到吗?

【问题讨论】:

  • 你自己有没有做过这方面的尝试?通常这个广泛的问题会被删除,但是你的问题似乎是规则的一个很好的例外。 +1
  • 我尝试过的一件事是使用 tor2web,通过将 blah.com proxy_pass 传递给 tor2web 代理,但这会带来证书问题,并且使用 tor2web 本身也是一个安全问题。我认为必须修改 nginx 以允许 proxy_pass 首先通过代理才能正常工作

标签: nginx service proxy hidden tor


【解决方案1】:

糟糕,我参加聚会有点晚了。几天前我想做同样的事情,但找不到可行的解决方案。因此,经过几天的研究和一些开发,我想出了tor-nginx-proxy - 一个帮助我们实现这一目标的 docker 镜像。

阅读更多相关信息 - https://harshitbudhraja.com/port-a-website-to-the-dark-web-in-under-2-minutes

【讨论】:

    【解决方案2】:

    您没有指定后端语言,所以我将向您展示一个使用 python Django 的示例。

    假设您在服务器上配置了 Tor(不是 tor 浏览器),您可以简单地使用 requests(或 aiohttp、urllib2 等)发出 GET 请求.),然后将响应转发给您的客户:

    from django.shortcuts import render
    import requests
    
    def someView(req):
        url = 'someWebsite.onion'
        proxy = {
            'http':'socks5h://localhost:9050',
            'https':'socks5h://localhost:9050'
        }
        html = requests.get(url, proxy=proxy)
        context = {'html':html}
        return render(req, 'someTemplate.html', context)  
    

    然后在someTemplate.html:

    {{ html }}
    

    可能有更优雅的方式将 html 数据管道到您的客户端,但这在很大程度上取决于您使用的后端。

    如果您不熟悉在本地计算机上将 tor 作为代理运行,您应该阅读此here

    在 Linux 上:

    • 安装:apt install tor
    • 开始:tor

    在 Mac 上:

    • 安装:brew install tor(需要homebrew
    • 开始:tor

    在 Windows 上:

    • 你是 SOL xD。

    我不知道如何在 nginx 服务器上配置一个 tor 代理,但是你可以问一个很好的后续问题。

    【讨论】:

    • 感谢您的回复,但在这种情况下,我将不得不放弃 nginx 并从头开始重建网络服务器。也许还有另一种方法,例如在 nginx 源中添加 socks5 对 proxy_pass 的支持
    【解决方案3】:

    是的。这是可能的。 proxy_pass nginx 将该代理发送到 tor

    /usr/bin/socat tcp4-LISTEN:$PORT,reuseaddr,fork,keepalive,bind=$IP SOCKS4A:127.0.0.1:$URL_ONION:$PORT_ONION,socksport=9050
    

    用您的数据替换 $PORT、$IP、$URL_ONION 和 $PORT_ONION

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 2021-01-27
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      相关资源
      最近更新 更多