Между вчерашним и сегодняшним днем произошло что-то, что не позволяет процессам, работающим под Apache, получить доступ к MSSQL-серверу, который необходим для функционирования сайта.
Вот что я нахожу в журналах ошибок Apache для скриптов PHP:
PHP Warning: mssql_connect(): Unable to connect to server
Приложения Flask / SQLAlchemy немного более информативны:
OperationalError: (OperationalError) (20009, 'DB-Lib error message 20009,
severity 9:\\nUnable to connect: Adaptive Server is unavailable or does
not exist (####:1234)\\nNet-Lib error during Permission
denied(13)\\n') None None
Когда я запускаю то же приложение WSGI в тестовом режиме с консоли на том же компьютере, на котором работает Apache, все работает. Подвести итоги:
И WSGI, и PHP не могут подключиться к серверу MSSQL буквально за одну ночь, если работают под Apache
При запуске без Apache скрипты WSGI работают нормально (не могу сказать о PHP, потому что это не мой домен)
На сервере, на котором работают веб-приложения, ничего не изменилось (не могу сказать о сервере MSSQL)
Мне нужна подсказка быстро. Этот материал работает во внутренней сети компании, и люди становятся нетерпеливыми. У меня есть контроль только над сервером RHEL под управлением Apache, а не за сервером MSSQL.
Советы по устранению неполадок с использованием tsql на страница freetds все работает нормально.
Мой /etc/freetds.conf просто из коробки и практически пуст (все закомментировано).
Оказывается, это не имеет ничего общего с Apache et al. Это была проблема с разрешением SELinux, которая возникла после перезагрузки виртуальной машины ночью, вероятно, по инициативе сисопа в Индии. Видимо, была обновлена политика безопасности для Apache. Нашел проблему в / var / log / messages, которая, к счастью, даже включала инструкции по ее устранению.
Других решений пока нет …