You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行Nginx的服务器上同时托管.onion站点与常规站点?

问题:Tor隐藏服务无法通过Nginx正常访问

在Ubuntu 22.04系统上运行Nginx服务器,已托管多个.com站点;同时安装运行Tor,.onion地址已在/var/lib/tor/hidden/hostname生成,但Tor浏览器访问该地址无法加载页面。

现有配置如下:

Tor配置(/etc/tor/torrc)

HiddenServiceDir /var/lib/tor/hidden/
HiddenServicePort 80 unix:/var/run/tor-hidden-service.sock
#HiddenServicePort 80 127.0.0.1:80 #tried
#HiddenServicePort 443 127.0.0.1:443 #tried

Nginx配置(/etc/nginx/sites-available/torsite)

server {
listen unix:/var/run/tor-hidden-service.sock;
#listen 127.0.0.1:80; #tried
#listen 80; #tried 
#listen [::]:80; #tried

server_name mylongoniondaddress.onion;
error_log /var/www/tor.log;
root /var/www/tor; #此处存在可访问的index.html文件
index index.html index.php;
}

尝试过多种配置组合,均未成功,部分组合导致Nginx或Tor无法重启;且tor.log日志为空,需排查思路。


排查解决思路
  • 权限检查(Unix套接字核心问题)
    Tor默认以debian-tor用户运行,Nginx以www-data用户运行,Unix套接字/var/run/tor-hidden-service.sock需要让两者都有权限访问:

    1. 在torrc中添加配置,确保套接字权限正确:
      HiddenServiceUnixSocketGroup www-data
      HiddenServiceUnixSocketMode 0660
      
    2. 重启Tor服务:systemctl restart tor@default
    3. 验证套接字权限:ls -l /var/run/tor-hidden-service.sock,应显示属组为debian-tor:www-data,权限为rw-rw----
  • Nginx配置有效性验证

    1. 测试配置语法:nginx -t,若报错,根据提示修正配置
    2. 确保配置已启用:将torsite软链接到sites-enabled目录:
      ln -s /etc/nginx/sites-available/torsite /etc/nginx/sites-enabled/
      
    3. 重启Nginx:systemctl restart nginx
  • 服务状态与日志排查

    1. 查看Tor服务实时日志,排查启动或转发错误:
      journalctl -u tor@default -f
      
    2. 检查Nginx主错误日志(可能包含torsite的错误信息):
      tail -f /var/log/nginx/error.log
      
    3. 修复/var/www/tor.log的权限,确保Nginx可写入:
      chown www-data:www-data /var/www/tor.log
      
  • 本地连通性测试
    跳过Tor网络,直接测试Nginx的响应:

    curl --unix-socket /var/run/tor-hidden-service.sock http://mylongoniondaddress.onion
    
    • 若能返回index.html内容,说明Nginx配置正常,问题出在Tor转发;
    • 若返回错误,说明Nginx配置或权限有问题,针对性修正。
  • 简化配置排查(排除Unix套接字干扰)
    暂时改用TCP端口替代Unix套接字,验证核心链路是否正常:

    1. 修改torrc:
      HiddenServicePort 80 127.0.0.1:8080
      
    2. 修改Nginx的torsite配置:
      listen 127.0.0.1:8080;
      
    3. 重启Tor和Nginx,用Tor浏览器访问.onion地址,若能正常加载,再换回Unix套接字排查权限问题。

内容的提问来源于stack exchange,提问作者Johnny Bravo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 14:35:11