Я относительно новичок в марионетке и в настоящее время работает над модулем «puppetlabs-apache». Я пропускаю что-то, устанавливая как ssl, так и non-ssl на виртуальном хосте.Puppetlabs-Apache: включить и 80 и 443 для виртуального хоста
Manifest применяется:
include apache
include apache::mod::rewrite
#apache::vhost { 'site.mydomain.com':
# port => '80',
# docroot => '/var/www/site',
# rewrite_rule => '(.*) https://site.mydomain.com [R,L]',
#}
apache::vhost { 'site.mydomain.com':
port => '443',
ssl => true,
docroot => '/var/www/site',
docroot_owner => 'www-data',
docroot_group => 'www-data',
# rewrite_rule => '(.*) https://site.mydomain.com [R,L]',
}
Дело в том, я не нужен без SSL (80 порта), но все запросы должны перенаправить на 443.
Если я закомментировать первую vhost
определение site.mydomain.com
для порта 80, он выдает ошибку:
Error 400 on SERVER: Duplicate declaration: Apache::Vhost[site2.mydomain.com] is already declared in file..
Не уверен, что я здесь отсутствует. Что делать, чтобы сделать это постоянное перенаправление?
http://site2.mydomain.com/ => https://site2.mydomain.com/
Спасибо так много. Я получаю эту идею, но есть одна небольшая проблема с этим. Это создаст 2 конфигурации виртуальных хостов [site.mydomain.com_ssl.conf, site.mydomain.com_non-ssl.conf] с ** Имя_сервера site.mydomain.com non-ssl ** и ** Имя_сервера site.mydomain. com ssl **, , который выдает ошибку, 'AH00526: Ошибка синтаксиса в строке 7 файла /etc/apache2/sites-enabled/25-site.mydomain.com_non-ssl.conf: ServerName принимает один аргумент, Имя хоста и порт сервера ' –
@VineethVijayan Это буквально, как говорит документация для' puppetlabs-apache', чтобы решить вашу проблему. Либо эта ошибка синтаксиса файла-протокола возникает из-за того, что в нем есть проблема. Скорее всего, это похоже? –
Ошибка имеет смысл, и вместо этого порт ввода работает. !! 'apache :: vhost {'site.mydomain.com:80' ...} apache :: vhost {'site.mydomain.com:443': ...}' –