syncthing + apache 反向代理用于多个用户

syncthing + apache 反向代理用于多个用户

好吧,我有点不开心了。

在一台计算机上,我有三个用户,分别是user1user2user3。每个用户都在运行 syncthing 并分别监听8384/ 220008385/220018386/ 22002

我为每个用户设置了一个带有反向代理的 Apache 虚拟主机。虚拟主机文件的内容如下(例如user1):

<VirtualHost *:80>
ServerName user1.syncthing.mydomain.com

ErrorDocument 404 /404.html

RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On

ProxyPass / "http://localhost:8384/"
ProxyPassReverse / "http://localhost:8384/"
<Proxy *>
Order deny,allow
Allow from localhost
</Proxy>

ErrorLog ${APACHE_LOG_DIR}/user1_syncthing_error.log
CustomLog ${APACHE_LOG_DIR}/user1_syncthing_access.log combined

RewriteCond %{SERVER_NAME} =user1.syncthing.mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

我已经验证 syncthing 正在为每一个用户在正确的端口上运行

$ sudo lsof -i -P -n | grep syncthing | grep LISTEN
syncthing   649         user2   12u  IPv6  23903      0t0  TCP *:22001 (LISTEN)
syncthing   649         user2   17u  IPv4  19216      0t0  TCP 127.0.0.1:8385 (LISTEN)
syncthing   656         user1   16u  IPv6  14254      0t0  TCP *:22000 (LISTEN)
syncthing   656         user1   19u  IPv4  23931      0t0  TCP 127.0.0.1:8384 (LISTEN)
syncthing   668         user3   13u  IPv6  23921      0t0  TCP *:22002 (LISTEN)
syncthing   668         user3   19u  IPv4  18427      0t0  TCP 127.0.0.1:8386 (LISTEN)

此外,尝试连接到user1.syncthing.mydomain.comuser2.syncthing.mydomain.com并且user3.syncthing.mydomain.com从远程计算机都向我发送正确的 IP 地址。

但是!设置是仅有的正在工作user1!使用 telnet 检查服务器上的连接user2user3告诉我

Trying <correct IP address>
telnet: Unable to connect to remote host: Connection refused

并从远程计算机告诉我(暂停后)

Trying <correct IP address>
telnet: Unable to connect to remote host: No route to host

我也尝试更改虚拟主机文件以user3匹配user1,但问题仍然存在。

大约一周前我第一次设置时,这个设置就起作用了,并且文件夹与当时设置的机器的同步仍然有效,我只是在进入配置 GUI 时遇到了麻烦。

我猜想页面的实际服务肯定存在一些问题,我搞错了,但我却苦苦思索如何找出问题所在。

答案1

问题在于我如何进行发夹弯操作 - 我在添加主机条目时错误输入了 IP 地址:user1.syncthing.mydomain.com指向 192.168.20.12(正确)但user2.syncthing.mydomain.com两者user3.syncthing.mydomain.com都指向 192.168.10.12(不正确)。

当我在问题描述中说 telnet 转到正确地址时,我没有注意到10/20差异!

相关内容