Назад | Перейти на главную страницу

Подключиться к sphinx на удаленном сервере

Недавно я переместил sphinx на тот же сервер, что и наша база данных, поэтому наша архитектура:

  1. Файловый сервер, на котором размещено наше веб-приложение
  2. Сервер БД с экземпляром Sphinx (searchd)

Когда я пытаюсь подключиться к sphinx в ip.to.db.server Я получаю следующую ошибку:

Sphinx response connection to ip.to.db.server:9312 failed (errno=113, msg=No route to host)

Что мне нужно сделать, чтобы сделать порт 9312 доступным для моего веб-приложения?

Текущий TCP порты LISTENing:

tcp        0      0 0.0.0.0:9306                0.0.0.0:*                   LISTEN      23496/searchd       
tcp        0      0 0.0.0.0:9312                0.0.0.0:*                   LISTEN      23496/searchd 

Выход iptables -L:

Chain INPUT (policy ACCEPT) 
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh 
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh /* SSH */ 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:lmsocialserver /* monit */ 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https /* HTTPS */ 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:webcache /* HTTPProxy */ 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http /* HTTP */ 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql /* MySQL */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  ipremoved_by_poster  anywhere            /* Rackspace monitoring */ 
ACCEPT     all  --  anywhere             anywhere            /* localhost */ 
ACCEPT     icmp --  anywhere             anywhere            icmp any /* ping */ 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere 

Я долго искал безуспешно. Любая помощь очень ценится.

E

Проблема была в IPTABLES блокировал мое удаленное соединение, поэтому я добавил две строчки на всякий случай:

vi /etc/sysconfig/iptables

добавьте следующие строки:

-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 9312 -m comment --comment "Sphinx" -j ACCEPT
-A RH-Firewall-1-INPUT -s your.remote.ip.address/32 -i eth0 -p tcp -m tcp --dport 9312 -j ACCEPT

Отрегулируйте порт 9312 к любому порту / портам, которые слушает сфинкс.

Затем я побежал service iptables restart и сфинкс был готов!

Спасибо @mdpc и @sciurus за то, что указали мне правильное направление.

NOTE: Rackspace использует RH-Firewall-1-INPUT, но вам может потребоваться просто INPUT, или что-то другое