Можно сделать это с mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domainname.com$ [NC]
RewriteRule ^(.*)$ http://domainname.com/$1 [R=301,L]
Перед использованием его удостоверьтесь, что Вы включили mod_rewrite сначала.
Определите свои узлы вне манифестов. Я бы порекомендовал преемника extlookup, Hiera, но на самом деле любого внешнего классификатора узлов будет достаточно, чтобы вывести данные вашего узла из манифестов.
Это рекомендуемый способ обработки определений узлов в наши дни - из документации :
Большинству пользователей в большинстве ситуаций следует использовать объявления, подобные include, и устанавливать значения параметров во внешних данных. Однако совместимость с более ранними версиями Puppet может потребовать компромиссов.
Hiera включен в Puppet 3.0 - его необходимо устанавливать отдельно в более старых версиях. Чтобы настроить Hiera для обработки определений ваших узлов, вам нужно сделать что-то вроде этих строк:
site.pp (все это):
hiera_include(classes)
hiera.yaml:
:backends:
- yaml
:hierarchy:
- %{clientcert}
- os-%{osfamily}
- common
:yaml:
:datadir: /etc/puppet/hieradata
# A good alternative if you want different node data based on environments:
#:datadir: /etc/puppet/environments/%{environment}/hieradata
:puppet:
:datasource: data
Теперь Puppet будет искать в / etc / puppet / hieradata
для получения данных о ваших узлах. Допустим, у вас есть класс ntp
, который вам нужен для всего, и класс apache
, который вам нужен только на одном конкретном узле:
/etc/puppet/hieradata/common.yaml:
classes:
- ntp
/etc/puppet/hieradata/nodename.example.com.yaml:
classes:
- apache
Этот массив является агрегированным - узел nodename.example.com
получит оба класса ntp
из общего файла и класса apache
из его собственного файла.
Hiera также обрабатывает параметры вашего класса за вас. Допустим, у вас есть класс apache
, ожидающий параметра порта
:
class apache ( $port ) {
...
Вы также можете установить его в файлах данных Hiera. Если вы хотите, чтобы по умолчанию использовался порт 80 ..
/etc/puppet/hieradata/common.yaml:
classes:
- ntp
apache::port: 80
Но вы хотите переопределить это для nodename.example.com
, установив его на 8080:
/etc/puppet/hieradata/nodename.example.com.