Error connection failure connection refused

Error connection failure connection refused

Я настроил nut для мониторинга моего ИБП и управления завершением работы моей рабочей станции. После того, как я заработал, я установил пакет nut-cgi для более удобного интерфейса для проверки состояния ИБП. Моя конфигурация nut была настроена и уже работает должным образом. Я добавил информацию в hosts.conf, чтобы программа CGI возвращала данные мониторинга.

Когда я запустил скрипт через свой веб-браузер, он смог вывести список ИБП, но там, где должны были быть данные, я просто получил сообщение:

Code:

Connection failure: connection refused.

Мой файл hosts.conf содержит:

Code:

MONITOR smart-ups@myserver “smart-ups: APC Smart-UPS 1100XL on MyServer”

Вот что я получаю в качестве страницы состояния:

Code:

Network UPS Tools upsstats 2.4.3

Wed Feb 23 14:06:39 EST 2011

System               Model               Status               Battery               Input (VAC)               Output (VAC)               Load (%)               UPS

Temp               Battery

Runtime               Data

Tree

smart-ups: APC Smart-UPS 1100XL on MyServer               [error: Connection failure: Connection refused]               [error: Connection failure: Connection refused]

Я проверил, что upsd работает и отвечает правильно.

Может кто-нибудь сказать мне, как это исправить, чтобы я мог использовать скрипт CGI для отображения моего статуса ИБП?

Решение

После нескольких часов бессмысленного поиска в Интернете, включая форумы Ubuntu, я оказался пустым. Но чтение сообщений о проблемах, связанных с nut, дало мне идею просмотреть мои файлы конфигурации и попробовать различные изменения.

Оказывается, решение связано с сетевой безопасностью, реализованной самим nut. В моем файле /etc/nut/hosts.conf я добавил запись “smart-ups@myserver”, которая представляет собой ИБП на моем сервере с именем “myserver”. upsmon, upsd и мой веб-сервер, на котором запущен upsstats.cgi, находятся на одном компьютере.

Я запускал nut в автономном режиме и ничего не настраивал в upsd.conf, поэтому upsd привязывался к порту по умолчанию, как если бы там была следующая запись:

Code:

LISTEN 127.0.0.1 3493

Результатом стало то, что upsd привязывается к определенному сетевому интерфейсу, в данном случае 127.0.0.1 (то есть localhost), или к интерфейсу обратной связи, lo. Поскольку я указал имя сервера в hosts.conf, upsstats.cgi пытался получить доступ к upsd по адресу 192.168.1.5, который является моим интерфейсом Ethernet, eth1, на моем сервере.

Исправление состояло в том, чтобы изменить hosts.conf с “smart-ups @myserver” на “smart-ups @localhost”, чтобы направить upsstats.cgi на использование правильного интерфейса.

Теперь это работает, и у меня есть хорошее отображение состояния ИБП.

What can be the reasons of connection refused errors?

Я пытаюсь написать серверную программу на C, используя другой клиент, я получаю эту ошибку, когда пытаюсь подключиться, например, через порт 2080.

connection refused

Каковы могут быть причины этой ошибки?

Ответ

Причин может быть много, но наиболее распространенными являются:

  • Порт не открыт на целевом компьютере.
  • Порт открыт на целевой машине, но его список ожидающих подключений заполнен.
  • Брандмауэр между клиентом и сервером блокирует доступ (также проверьте локальные брандмауэры).

После проверки наличия брандмауэров и того, что порт открыт, используйте telnet для подключения к ip / порту для проверки подключения. Это устраняет любые потенциальные проблемы с вашим приложением.

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector