Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    HTTP 596 ошибка при попытке использования API

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    HTTP 596 ошибка при попытке использования API, Proxmox Виртуальная Среда
     
    Benjamin Hodgens
    Guest
    #1
    0
    30.12.2021 23:23:00
    Я использую proxmox 6, полностью обновлённый. (pve-manager/6.4-13/9f411e79 (текущий ядро: 5.4.157-1-pve) При попытке использовать API для развертывания ВМ с помощью terraform и ключа API я получаю эту ошибку от Terraform: │ Ошибка: ошибка создания LXC контейнера: 596 tls_process_server_certificate: ошибка проверки сертификата, статус ошибки: (параметры: {"arch":"amd64","cmode":"tty","console":true,"cores":4,"cpulimit":0,"cpuunits":1024,"features":"","hostname":"tf-hs-1","memory":4098,"net0":"bridge=vmbr0,name=eth0,ip6=manual,gw=10.9.8.1,ip=10.9.8.201/24","onboot":false,"ostemplate":"local:packages/centos-7-default_20160205_amd64.tar.xz","password":"password123","protection":false,"rootfs":"valhalla-vms:8","start":true,"storage":"local","swap":512,"tags":"","tty":2,"unique":true,"unprivileged":true,"vmid":143}) │ │ с proxmox_lxc.cluster[0], │ в main.tf строка 23, в ресурсе "proxmox_lxc" "cluster": │ 23: ресурс "proxmox_lxc" "cluster" { │ Подробные логи не дают никакой дополнительной информации кроме "HTTP/1.1 596 tls_process_server_certificate: ошибка проверки сертификата". Я получаю эту ошибку от proxmox независимо от того, выполняю ли я проверку сертификата и независимо от того, какой сертификат использую. Проверив pveproxy/access.log, я вижу это в запросе: ::ffff:10.9.8.20 - terraform@pam!terraform [29/12/2021:21:55:35 -0700] "GET /api2/json/cluster/nextid HTTP/1.1" 200 14 ::ffff:10.9.8.20 - terraform@pam!terraform [29/12/2021:21:55:35 -0700] "POST /api2/json/nodes/bastion.my.domain.net/lxc HTTP/1.1" 596 - Связанный syslog указывает: 29 дек 21:55:35 bastion pveproxy[3576]: '/etc/pve/nodes/bastion.my.domain.net/pve-ssl.pem' не существует!#012 29 дек 21:55:35 bastion pveproxy[3576]: Не удалось проверить сертификат удалённого узла 'E4:8A:15:16:B4:15:62:F6:6C:CC:DF:43:2E:6E:9F:E5:11:D6:9F:F3:37:50:B1:F5:17:9A:B1:A3:07:CB:06:36' со списком закреплённых сертификатов, кэш обновляется. Указанная директория не существует. Однако короткое DNS имя существует: # ls /etc/pve/nodes/ bastion kismet hercules mora Подумав, что я умный, я попытался создать символьную ссылку, чтобы посмотреть, поможет ли это, но из-за того, что это файловая система FUSE, это не сработало: $ sudo ln -s bastion.my.domain.net bastion ln: не удалось создать символическую ссылку 'bastion/bastion.my.domain.net': Функция не реализована. Я не могу найти в интерфейсе, как или где можно изменить то, что нужно изменить, чтобы решить эту проблему.
     
     
     
    mumblingsages
    Guest
    #2
    0
    19.01.2022 18:25:00
    Привет, Бенджамин. Ты нашел ответ на это? У меня такая же проблема.
     
     
     
    Benjamin Hodgens
    Guest
    #3
    0
    19.01.2022 22:36:00
    Извините - да, эта ошибка (ошибка сертификата) вводит в заблуждение; это не основная причина (или не была в моем случае). Я в итоге добавил Роль и назначил эти разрешения. Это исправило проблему для меня.
     
     
     
    Benjamin Hodgens
    Guest
    #4
    0
    19.01.2022 22:45:00
    Это, вероятно, ошибка в том, как Proxmox отвечает.
     
     
     
    fabian
    Guest
    #5
    0
    20.01.2022 11:57:00
    нет - параметр узла в пути должен содержать короткое имя, а не полное доменное имя.
     
     
     
    Benjamin Hodgens
    Guest
    #6
    0
    20.01.2022 18:16:00
    @fabian - если ты говоришь о ситуации с символьными ссылками, это совершенно не связано с основной проблемой и было просто отвлечением. (И если короткое имя пути действительно должно использоваться, странно, что в логах появляется сообщение об ошибке, когда оно используется, правда?) Ошибка, о которой я говорил, - это ошибка 596. Я не смог найти, где этот код ошибки конкретно документирован для Proxmox, но, основываясь на других HTTP REST API, я полагаю, что 596 - это неправильный код для проблем с правами аккаунта/роли, и это ошибка совсем другой категории. Не могу представить ни одну уместную причину, почему Proxmox может вернуть ошибку сертификата 5xx в данном случае - это только запутывает любой диагноз и уводит в, можно сказать, гораздо более сложную область диагностики (SSL сертификаты). HTTP 403, 405, 406, 409, 412 - черт возьми, даже 418 "Я чайник" были бы как более точными, так и более полезными, чем любая ошибка класса 5xx. Массированное отвлечение.
     
     
     
    fabian
    Guest
    #7
    0
    21.01.2022 09:30:00
    вы подключаетесь к одному узлу и говорите ему проксировать запрос на другой узел, но используете имя узла в качестве цели, которое не существует (случайно используя неправильный вариант существующего имени узла, что трудно определить компьютеру). это означает, что проксируемое соединение не может найти (и проверить) сертификат (записанный на сервере), и библиотека HTTP сообщает нам "не удается найти службу" (что на самом деле означает -> не удается найти запрашиваемый вами узел), который мы возвращаем клиенту. трудно сказать, была ли у вас другая проблема с разрешениями, но проверки разрешений обычно возвращают 401/403 (и в редких случаях 500), а не 596. вам не нужно создавать дополнительные директории и копировать файлы сертификатов, вам просто нужно сделать запрос с правильным именем узла (которое всегда является просто именем хоста, а не FQDN).
     
     
     
    Benjamin Hodgens
    Guest
    #8
    0
    21.01.2022 17:39:00
    @fabian Я думаю, вы могли неправильно понять эту дискуссию или каким-то образом истолковали проблему. Единственный раз, когда я ссылался на хост полным DNS-имменем, был во время подключения к нему. Символическая ссылка/копирование директории были просто диагностическим шагом, чтобы проверить, изменит ли это результат. Это не изменило результата, и было отменено. Лог продолжает заполняться с каждой попыткой подключения, даже после того, как я решил проблему. Я всегда отправлял запрос в правильном формате, просто proxmox возвращал 596 из-за проблемы с разрешениями. Когда я изменил разрешения для роли и назначил их пользователю, всё заработало. 5xx ошибки = ошибки сервера, 4xx ошибки = проблемы с разрешениями. Proxmox возвращает 596 (недопустимый/не RFC-HTTP ответ), когда должен возвращать 4xx ошибку, потому что сбой был из-за разрешений, а не сертификата.
     
     
     
    fabian
    Guest
    #9
    0
    24.01.2022 08:43:00
    Нет, ты не понимаешь суть. Этот запрос ::ffff:10.9.8.20 - terraform@pam!terraform [29/12/2021:21:55:35 -0700] "POST /api2/json/nodes/bastion.my.domain.net/lxc HTTP/1.1" 596 - имеет неверный формат (параметр 'node' в пути имеет неправильный формат, поэтому запрос не может быть проксирован, что является ошибкой сервера - в данном случае это сообщается как 596 "служба не найдена", потому что узел, к которому ты подключаешься, не может найти другой узел, к которому ты обращаешься - это могло бы быть и 500, но это было бы менее конкретно). Если ты сделаешь POST /api2/json/nodes/bastion/lxc HTTP/1.1, это должно сработать (или вернуть какой-то другой код статуса) - если это все равно вызывает ту же ошибку, скорее всего, что-то не так с разрешением имени хоста на твоем узле. Я не знаю, что ты сделал, чтобы решить проблему, и, возможно, тебе удалось найти обходной путь, который не требует корректного запроса, но это может иметь и другие побочные эффекты. Отсутствие разрешений даст тебе 403, или, редко, 400, если обработка ошибок не различает неправильную комбинацию параметров и требуемые разрешения. Ты получишь 401, если не авторизован, и 500 за общие ошибки / неудачные действия. Нет никакого способа, чтобы отсутствие разрешений только вызывало 596 - теоретически возможно, что что-то, вызывающее 596, может сочетаться с отсутствием разрешений, в этом случае тебе нужно будет исправить оба момента по очевидным причинам.
     
     
     
    Benjamin Hodgens
    Guest
    #10
    0
    24.01.2022 18:40:00
    Спасибо. Я понимаю вашу точку зрения, вы просто недостаточно поняли условия, чтобы комментировать. Не знаю, что сказать, чтобы помочь вам разобраться. Я не изменял, как я обращался к хостам, я всегда называл хосты их полным правильным DNS-именем, а не коротким. Я не изменял, как это работает. variable "pvehost" { default = "bastion.my.domain.net" } variable "pvedest" { default = "bastion"} (pvehost — это место, куда устанавливаются соединения, а pvedest — это хост в кластере, который получает указанные экземпляры, так что это точно так, как вы и сказали, должно быть определено для pvedest). Я говорю вам, что я получал 596 ответов, затем изменил ровно одну вещь — добавил роль и назначил её пользователю — и это решило проблему.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры