Как изменить порт веб-интерфейса Puppet Enterprise, чтобы он не конфликтовал с моим существующим веб-сервером Apache - PullRequest
1 голос
/ 07 мая 2019

Мой текущий сервер CentOS 7 уже работает на веб-сервере Apache 2.4x с использованием портов по умолчанию 80 и 443. Puppet Enterprise версии 2019.x, использующий nginx (точнее pe-nginx), настроен по умолчанию для использованияточно такие же порты.

Что необходимо изменить, чтобы веб-сервер pe-nginx использовал порты 8090 и 444 вместо значений по умолчанию 80 и 443?

Согласно: https://puppet.com/docs/pe/2019.0/config_console.html Я должен отключитьHTTPS-редирект.Вот инструкции, которые я попробовал:

Веб-сервер pe-nginx по умолчанию прослушивает порт 80.Если вам нужно запустить собственную службу на порту 80, вы можете отключить перенаправление HTTPS.

Отредактируйте файл Hiera.yaml, чтобы отключить перенаправление HTTP.

puppet_enterprise::profile::console::proxy::http_redirect::enable_http_redirect: false

Это измененный файл: /etc/puppetlabs/code/environments/production/hiera.yaml

---
version: 5
defaults:
  # The default value for "datadir" is "data" under the same directory as the hiera.yaml
  # file (this file)
  # When specifying a datadir, make sure the directory exists.
  # See https://puppet.com/docs/puppet/latest/environments_about.html for further details on environments.
  # datadir: data
  # data_hash: yaml_data
hierarchy:
  - name: "Per-node data (yaml version)"
    path: "nodes/%{::trusted.certname}.yaml"
  - name: "Other YAML hierarchy levels"
    paths:
      - "common.yaml"
puppet_enterprise::profile::console::proxy::http_redirect::enable_http_redirect: false

Я новичок в yaml, но могу видеть, что это, вероятно, не правильно, но все равно попробовал.

Этоне говорит, что делать после изменения файла для реализации изменения, вот что я пытался:

puppet infrastructure configure --recover 
Notice: Unable to recover PE configuration: The Lookup Configuration at '/etc/puppetlabs/code/environments/production/hiera.yaml' has wrong type, unrecognized key 'puppet_enterprise::profile::console::proxy::http_redirect::enable_http_redirect'
2019-05-07T15:41:29.722+00:00 - [Notice]: Compiled catalog for tadm10-adm.test.hfgs.net in environment enterprise in 2.08 seconds
2019-05-07T15:41:42.489+00:00 - [Notice]: Applied catalog in 12.05 seconds
netstat -tulpn | grep -v tcp6|grep ":443\|:80\|:8090\|:444"
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      32272/nginx: master 

1 Ответ

2 голосов
/ 08 мая 2019

Хотя я так и не смог понять, как это сделать с помощью предложения Puppet Labs об изменении файла hiera.yaml, я выяснил, как это сделать с помощью веб-консоли.

Изменения устраняют все конфликты ссуществующий Apache httpd, который использует порты 80 и 443.

Доступ к веб-консоли PE теперь должен быть доступен через порт 444

. Это исправление:

ИзВеб-консоль

  1. Выбор конфигурации
  2. Выбор классификации
  3. Выберите значок + с надписью «Инфраструктура PE» для отображения Классов
  4. Выберите производство PE Consoleссылка
  5. Выберите вкладку Конфигурация
  6. В разделе «Классы» - Добавить новый класс
  7. Выберите «puppet_enterprise :: profile :: console :: proxy :: http_redirect» из списка
  8. Выберите кнопку Добавить класс
  9. Выберите изменение фиксации 1
  10. Новый класс теперь отображается на странице,
  11. Выберите имя параметра: enable_http_redirect из thСписок
  12. Установить значение false
  13. Добавить параметр
  14. Выбрать изменение фиксации 1

  15. Выбрать имя параметра: ssl_listen_portиз списка

  16. Установить значение 444
  17. Добавить параметр
  18. Выбрать изменение фиксации 1

При запуске агента Puppet -t IТеперь получите сообщение об ошибке, как показано ниже.pp

#class { 'puppet_enterprise::profile::console::proxy::http_redirect' :
#  ssl_listen_port => Integer($ssl_listen_port),
#}

Повторно запустить агент кукол -t

puppet agent -t

Консольный порт (изменение порта 443)

Из веб-консоли

  1. Настроить
  2. Классификация
  3. Выбрать производство инфраструктуры PE
  4. Вкладка конфигурации
  5. Класс: puppet_enterprise :: profile :: console
  6. Добавить параметр
  7. Имя параметра: console_port
  8. Значение: 444

Запустить Puppet Agent -t и проверить порты

# puppet agent -t
# netstat -tulpn | grep -v tcp6|grep ":443\|:80\|:8090\|:444"
tcp        0      0 0.0.0.0:444             0.0.0.0:*               LISTEN      11182/nginx: master 

Запустите httpd

# systemctl start httpd
# netstat -tulpn | grep -v tcp6|grep ":443\|:80\|:8090\|:444"
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      13353/httpd         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      13353/httpd         
tcp        0      0 0.0.0.0:444             0.0.0.0:*               LISTEN      11182/nginx: master 

Доступ к консоли PE Wen теперь осуществляется через порт 444

https://hostname:444/#/inspect/overview
...