Назад | Перейти на главную страницу

Ошибка HAProxy: для некоторых параметров конфигурации требуются полные права, поэтому global.uid нельзя изменить.

После добавления строки в /etc/haproxy/haproxy.cfg так как часть создания прозрачного прокси,

    source 0.0.0.0 usesrc clientip

перезапуск haproxy начинает выдавать ошибку

~# service haproxy reload
 * Reloading haproxy haproxy                                                     
       [ALERT]     230/153724 (1140) : [/usr/sbin/haproxy.main()] Some configuration options require full privileges, so global.uid cannot be changed.

Я уже бегу service haproxy reload так как root. Что нам еще делать? Спасибо!

Закомментируйте следующие строки в вашем haproxy.cfg:

    user        haproxy
    group       haproxy

и перезапустите haproxy.

Лучший способ решить эту проблему с помощью привилегий - выполнить следующие команды:

  1. Исправить возможности haproxy

    setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/sbin/haproxy
    
  2. Исправить haproxy.pid права на файлы

    touch /var/run/haproxy.pid; chown haproxy:haproxy /var/run/haproxy.pid
    
  3. Комментарий от haproxy.conf:

    User haproxy
    Group haproxy
    
  4. Запустить демон от имени пользователя haproxy:

    sudo -u haproxy /sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -q
    
  5. Проверить процесс haproxy

    ps -ef | grep haproxy
    

    результат должен быть:

    haproxy  12800     1  0 фев12 ?     00:00:58 /sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -q
    
  6. Вы можете поместить эти команды в rc.local для автоматического запуска с системой