#apache #amazon-elastic-beanstalk
#apache #amazon-elastic-beanstalk
Вопрос:
У меня возникли проблемы с развертыванием в Elastic Beanstalk (Tomcat).
Когда я развертываю свою WAR, выполняется проверка синтаксиса конфигурации Apache:
/usr/sbin/apachectl -t -f /var/elasticbeanstalk/staging/httpd/conf/httpd.conf
Но это не удается, потому что httpd.conf
это не определяет необходимые модули:
Syntax error on line 214 of /etc/httpd/conf.d/ssl.conf
Invalid command 'SetEnvIf', perhaps misspelled or defined...
В данном случае эти модули setenvif_module
определены в /etc/httpd/conf/httpd.conf
моем файле конфигурации httpd.
Я не знаю, откуда /var/elasticbeanstalk/staging/httpd/conf/httpd.conf
берется.
Есть идеи, как это решить?
Комментарии:
1. Возможно, вы захотите увидеть forums.aws.amazon.com/thread.jspa?messageID=759487 . Я работаю над той же проблемой с AWS. Кажется, я обнаружил проблему с их сценариями при перестройке среды. Быстрое решение, вероятно, состоит в том, чтобы включить ваш собственный файл httpd.conf, который является их копией, но добавить в setenvif.so модуль.
Ответ №1:
Из моего исследования это, похоже, связано только с установкой / сборкой начального экземпляра с использованием Elastic Beanstalk. Файл ssl.conf, о котором идет речь, на самом деле происходит из начальной установки Apache и не является частью конфигурации Elastic Beanstalk.
Проблема возникает из-за того, что AWS больше не устанавливается mod_setenvif.so как модуль в httpd.conf, и поэтому выдается эта ошибка.
Чтобы устранить эту текущую проблему из моих сборок и из-за того, что я уже настраиваю свою конфигурацию Apache, я скопировал рабочий файл AWS httpd.conf из другого экземпляра и добавил mod_setenvif.so модуль к нему. Используя указания в http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html#java-tomcat-proxy-apache , Сценарии конфигурации Elastic Beanstalk используют новый файл httpd.conf, и ошибка больше не выдается.
Я считаю это обходным решением, поскольку основные скрипты контролируются AWS. Это может быть дефектом в скрипте, а может и нет. Несмотря на это, я просто хотел быстро найти решение.
Комментарии:
1. Вы правы, я провел 5 часов с сотрудником службы поддержки AWS, и, наконец, мы решили проблему, используя мой собственный httpd.conf в .ebextensions. Он не рекомендовал использовать BeansTalk для такого рода беспорядка.
2. Итак .so (mod_setenvif.so )
/etc/httpd/modules
включен, но не установлен? Это очень сбивает с толку!