Dell VNX. Не удается получить доступ к веб-интерфейсу пользователя Unisphere после модернизации
Summary: После обновления кода операционной среды Unisphere становился недоступным, файл httpd.conf возвращался к значениям по умолчанию, а при редактировании вводился дополнительный пробел, что вызывало проблемы со сценарием Apache. (Исправляется пользователем) ...
Symptoms
Модернизация Flare OE и NAS.
Не удается получить доступ к веб-интерфейсу Unisphere после обновления сигнальной ракеты OE и кода сетевой системы хранения данных. Unisphere становилось недоступным, файл httpd.conf возвращался к значениям по умолчанию, а при редактировании вводился лишний пробел, что вызывало проблемы со сценарием Apache.
Cause
После модернизации заказчику пришлось повторно изменить /nas/http/conf/httpd.conf, так как файлы возвращались к настройкам по умолчанию.
В этом случае заказчику пришлось повторно добавить шифры безопасности в строку SSLCipherSuite. Однако любая ошибка при редактировании, например, оставление лишнего пробела в файле, может привести к сбою скрипта Apache.
Resolution
Чтобы подтвердить проблему с файлом httpd.conf, проверьте случаи ошибки, связанные с Apache и Tomcat, с помощью следующих команд:
/nas/tools/dbchk -wvxpV nas_logviewer /nas/log/sys_log | grep -i apache | tail nas_logviewer /nas/log/sys_log | grep -i tomcat | tail cat /var/log/messages | grep -i tomcat | tail cat /var/log/messages | grep -i apache | tail cat /nas/tomcat/logs/catalina.out | grep -i error | tail
Проверьте файл apache_restart.out на наличие синтаксических ошибок с помощью следующей команды:
cat /nas/http/logs/apache_restart.out | grep -i syntax | tail
Чтобы подтвердить проблемы с httpd.conf:
Выполните команду vi или less в файле /nas/http/conf/httpd.conf и найдите номер строки, который вы видите с синтаксической ошибкой из apache_restart.out. Затем проверьте тот же номер файла и строки в лабораторном массиве, чтобы определить, где находится лишний пробел или неправильный/отсутствующий символ, и отредактируйте его.
После подтверждения проблемы с редактированием файла httpd.conf:
Для примера SSLCipherSuite вы должны отредактировать и удалить лишний пробел в этой строке, чтобы изменить ее с одной строки, разбитой на две строки, обратно на одну строку:
< # SSL Cipher Suite: < # List the ciphers that the client is permitted to negotiate. < # See the mod_ssl documentation for a complete list. < #SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:-MEDIUM:-LOW < SSLCipherSuite < ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW
После удаления лишнего пространства он будет выглядеть следующим образом:
< # SSL Cipher Suite: < # List the ciphers that the client is permitted to negotiate. < # See the mod_ssl documentation for a complete list. < #SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW < SSLCipherSuite ALL:!ADH:!DH:!EXPORT:!SSLv2:+HIGH:-MEDIUM:-LOW
Исправив ошибку редактирования в файле httpd.conf, убедитесь, что ошибки прекратились, еще раз просмотрев журналы с помощью следующей команды:
tail -f on /var/log/messages
и
/nas/http/logs/apache_restart.out
Ошибки, как правило, передаются в потоковом режиме и прекращаются сразу после того, как вы исправите проблему редактирования.
Помнить: Выше приведен пример, показывающий пробел, добавленный к одной строке, разбивающий ее на две отдельные строки в файле. Но вам придется оценивать в каждом конкретном случае и исправлять соответствующим образом, будь то лишние пробелы, удаленные пробелы или опечатки.
Additional Information
В /nas/log/syslog:
# nas_logviewer /nas/log/sys_log | grep -i apache | tail -5 Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:25 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:26 2019:CS_PLATFORM:MasterControl:EMERGENCY:6:::::Daemon Apache daemon unexpectedly exited (status = 0); ifexit=1, exitstatus=0, ifsignal=0, termsig=0, ifstop=0, stopsig=0, ifdump=0. Sep 11 11:48:26 2019:CS_PLATFORM:MasterControl:EMERGENCY:15:::::Apache daemon respawning too fast; disabled for 5 minutes.
Из /nas/tomcat/logs/catalina.out: Отображается сообщение «СЕРЬЕЗНАЯ: Ошибка расшифровки запроса".
Aug 28, 2019 8:23:31 PM org.apache.jk.common.ChannelSocket processConnection WARNING: processCallbacks status 2 Aug 28, 2019 8:23:31 PM org.apache.jk.common.HandlerRequest invoke SEVERE: Error decoding request java.io.CharConversionException: Invalid char in port: 58 at org.apache.jk.common.HandlerRequest.parseHost(HandlerRequest.java:658) at org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java:404) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:261) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Unknown Source) Aug 28, 2019 8:23:31 PM org.apache.jk.common.ChannelSocket processConnection WARNING: processCallbacks status 2 Wed Sep 4 10:24:48 CDT 2019 Starting tomcat web server.
Если по какой-либо причине требуется перезапуск Tomcat, Apache и httpd после того, как в файле httpd.conf больше нет проблем, это можно сделать с помощью следующей команды:
/nas/http/nas_ezadm/etc/script restart
Следует отметить, что перезапуск Apache/Tomcat/httpd сам по себе не имеет никакого эффекта, если это подтвержденная проблема или ошибка в редактировании файла vi, до тех пор, пока ошибка редактирования не будет исправлена. Если файл httpd.conf содержит неверный синтаксис, вы увидите «SEVERE: Catalina.stop: java.net.ConnectException: Connection denied (Connection denied)», которая отображалась при перезапуске служб.
Кроме того, вы можете проверить обычную команду getagent:
/nas/sbin/naviseccli -h SPA getagent
А затем также проверьте учетные данные безопасности, чтобы убедиться в отсутствии проблем:
# /nas/sbin/naviseccli -h SPA -user sysadmin -password sysadmin -scope 0 getagent Agent Rev: 7.33.9 (2.36) Name: K10 Desc: Node: A-APM00xxxxxxxxx Physical Node: K10 Signature: 3854449 Peer Signature: 3698693 Revision: 05.33.009.5.238 SCSI Id: 0 Model: VNX7600 Model Type: Rackmount Prom Rev: 33.51.00 SP Memory: 65536 Serial No: APM00xxxxxxxxx SP Identifier: A Cabinet: DPE9
Если команда безопасности naviseccli завершается сбоем, выполните поиск в базе базы знаний, используя следующие команды, чтобы найти несколько связанных статей базы знаний:
VNX: /nas/sbin/naviseccli -h SPA -user <user> -password <password> -scope 0 getagent