我对 puppet 比较陌生,目前正在研究“puppetlabs-apache”模块。在虚拟主机上设置 ssl 和非 ssl 时我遗漏了一些东西。
应用清单:
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。
如果我注释掉端口 80 的第一个vhost
定义site.mydomain.com
,则会引发错误:
服务器上的错误 400:重复声明:Apache::Vhost[site2.mydomain.com] 已在文件中声明..
不知道我在这里缺少什么。我应该怎么做才能使这种永久重定向发生?
http://site2.mydomain.com/ => https://site2.mydomain.com/