如何使nginx反向代理直接指向tor隐藏服务?
有可能通过tor隐藏服务建立一个clearnet网站隧道吗? 例如,如果有人拥有blah.com,它指向服务器IP 1.2.3.4,但希望1.2.3.4向隐藏服务发出代理请求 关键是要有一个clearnet“外观”网站,同时将网站本身的内容放在一个隐藏的服务器上,这基本上是proxy_pass所能做的,除非它需要连接到localhost如何使nginx反向代理直接指向tor隐藏服务?,nginx,service,proxy,hidden,tor,Nginx,Service,Proxy,Hidden,Tor,有可能通过tor隐藏服务建立一个clearnet网站隧道吗? 例如,如果有人拥有blah.com,它指向服务器IP 1.2.3.4,但希望1.2.3.4向隐藏服务发出代理请求 关键是要有一个clearnet“外观”网站,同时将网站本身的内容放在一个隐藏的服务器上,这基本上是proxy_pass所能做的,除非它需要连接到localhost 有没有办法做到这一点?您没有指定后端语言,因此我将向您展示一个使用python Django的示例 假设您在服务器上配置了tor(而不是tor浏览器),您只需使
有没有办法做到这一点?您没有指定后端语言,因此我将向您展示一个使用python Django的示例 假设您在服务器上配置了tor(而不是tor浏览器),您只需使用
请求
(或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作为代理,您应该仔细阅读这篇文章
在linux上:
- 安装:
apt安装tor
- 开始:
tor
- 安装:
(需要)brew安装tor
- 开始:
tor
- 你是索尔xD李>
/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\u洋葱和$PORT\u洋葱哎呀,我来派对有点晚了。几天前,我想做同样的事情,但找不到一个可行的解决方案。因此,经过几天的研究和开发,我想出了
tor nginx proxy
——一个docker图像,帮助我们实现这一目标
阅读更多相关信息-您自己有没有尝试过?通常情况下,这样广泛的问题会被删除,但是你的问题似乎是一个很好的例外+1我曾经尝试过的一件事是使用tor2web,通过将blah.com proxy_传递给tor2web proxy,但这带来了证书问题,同时也是使用tor2web本身的安全问题。我认为nginx必须进行修改,以允许proxy_pass首先通过一个代理才能工作感谢响应,但在这种情况下,我必须抛弃nginx,从头开始重建web服务器。。也许还有另一种方法,比如在nginx源代码中添加socks5对proxy_pass的支持