我当前的CentOS 7服务器已经使用默认端口80和443运行Apache Web服务器2.4x。默认情况下,使用nginx(确切地说是pe-nginx)将Puppet Enterprise版本2019.x配置为使用完全相同的端口。
要使pe-nginx Web服务器使用端口8090和444而不是默认的80和443,需要更改什么?
根据:https://puppet.com/docs/pe/2019.0/config_console.html我应该禁用HTTPS重定向。这是我尝试过的说明:
默认情况下,pe-nginx Web服务器侦听端口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
答案 0 :(得分:2)
尽管我从来没有想过如何使用Puppet Labs来完成此工作,但我建议修改hiera.yaml文件,但是我已经想出了如何使用Web控制台来做到这一点。
所做的修改消除了与使用端口80和443的现有Apache httpd的所有冲突。
现在将需要通过端口444访问对PE Web控制台的访问
这是解决方法:
从Web控制台
选择提交1次更改
从列表中选择参数名称:ssl_listen_port
运行人偶代理-t时,我得到如下所示的错误
Duplicate declaration: Class[Puppet_enterprise::Profile::Console::Proxy::Http_redirect] is already declared;
cannot redeclare (file: /opt/puppetlabs/puppet/modules/puppet_enterprise/manifests/profile/console/proxy.pp,
line: 211)
从proxy.pp删除重复声明
编辑:/opt/puppetlabs/puppet/modules/puppet_enterprise/manifests/profile/console/proxy.pp
#class { 'puppet_enterprise::profile::console::proxy::http_redirect' :
# ssl_listen_port => Integer($ssl_listen_port),
#}
重新运行人偶代理-t
puppet agent -t
控制台端口(端口443更改)
从Web控制台
运行人偶代理-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
现在可以通过端口444访问PE Wen控制台
https://hostname:444/#/inspect/overview