У меня есть установка с основным веб-приложением dotnet. Он развернут на виртуальной машине Azure под управлением Ubuntu. Интернет обслуживается в nginx. Это конкретное веб-приложение обращается к ряду различных баз данных. Одно из этих подключений не работает, когда решение развернуто на виртуальной машине. Вот некоторые детали:
- SQL Server работает не на стандартном порту 1433, а на 15333 — я не контролирую этот сервер, поэтому изменение порта не вариант.
- На моем ноутбуке разработчика строка подключения к этому SQL Server работает — извлечение данных работает, как и ожидалось.
- С виртуальной машины Azure Ubuntu я могу подключиться по telnet к SQL Server (telnet IP 15333). Я получаю ответ «Подключено к IP».
- Соединения с другими базами данных (Oracle, другие базы данных SQL Server (работающие на 1433)) в приложении работают нормально.
- Все базы данных (рабочая и нерабочая) находятся в том же сетевом домене, что и мой ноутбук разработчика.
Поэтому я немного запутался в том, в чем проблема. При подключении к проблемному SQL Server время ожидания подключения истекает через 30 секунд (по умолчанию). Можно было бы ожидать почти немедленного ответа, если бы все работало, как ожидалось.
Конфигурация nginx выглядит так:
www-данные пользователя;
рабочие_процессы авто;
pid /run/nginx.pid;
включить /etc/nginx/modules-enabled/*.conf;
События {
worker_connections 768;
# multi_accept on;
}
http {
##
# Основные настройки
##
отправить файл включен;
включить /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Настройки ведения журнала
##
журнал_доступа /var/log/nginx/access.log;
журнал_ошибок /var/log/nginx/error.log;
##
# Конфигурации виртуального хоста
##
включить /etc/nginx/conf.d/*.conf;
сервер {
слушать 80;
место расположения / {
proxy_pass http://localhost:5000;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Поддержание соединения;
proxy_set_header Хост $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
}
}
}
Бег статус ufw
дает мне:
К действию от
-- ------ ----
Nginx HTTP РАЗРЕШИТЬ ВСЕГДА
443/tcp РАЗРЕШИТЬ ВСЕГДА
80/tcp РАЗРЕШИТЬ Везде
20:21/tcp РАЗРЕШИТЬ ВСЕГДА
30000:31000/tcp РАЗРЕШИТЬ Везде
OpenSSH РАЗРЕШИТЬ ВСЕГДА
14431/tcp РАЗРЕШИТЬ Везде
14431 РАЗРЕШИТЬ ВСЕГДА
1433 РАЗРЕШИТЬ ВСЕГДА
Nginx HTTP (v6) РАЗРЕШИТЬ везде (v6)
443/tcp (v6) РАЗРЕШИТЬ везде (v6)
80/tcp (v6) РАЗРЕШИТЬ везде (v6)
20:21/tcp (v6) РАЗРЕШИТЬ везде (v6)
30000:31000/tcp (v6) РАЗРЕШИТЬ везде (v6)
OpenSSH (v6) РАЗРЕШИТЬ ВСЕГДА (v6)
14431/tcp (v6) РАЗРЕШИТЬ везде (v6)
14431 (v6) РАЗРЕШИТЬ везде (v6)
1433 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)
В чем тут может быть дело? Любые подсказки о том, как диагностировать проблему, будут оценены.