我正在尝试使用puppet创建一个Apache配置,其中包括反向代理和基本身份验证。
我的方法看起来像
apache::vhost { 'domain.tld':
port => '80',
proxy_pass => {
path => '/',
url => 'http://10.10.10.20:19999/'
},
docroot => '/var/www/html',
directories => [
{
path => '/',
auth_type => 'Basic',
auth_name => 'Basic Auth', auth_user_file => '/etc/apache2/.htpasswd-netdata',
auth_require => "valid-user", },
],
}
这会创建一个这样的配置文件:
<VirtualHost *:80>
ServerName domain.tld
## Vhost docroot
DocumentRoot "/var/www/html"
## Proxy rules
ProxyRequests Off
ProxyPreserveHost Off
ProxyPass / http://10.10.10.20:19999/
ProxyPassReverse / http://10.10.10.20:19999/
<Directory "/">
AllowOverride None
Require valid-user
AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/apache2/.htpasswd
</Directory>
</VirtualHost>
但这不起作用,它应该看起来像这样:
<VirtualHost *:80>
ServerName domain.tld
## Vhost docroot
DocumentRoot "/var/www/html"
## Proxy rules
ProxyRequests Off
ProxyPreserveHost Off
ProxyPass / http://10.10.10.20:19999/
ProxyPassReverse / http://10.10.10.20:19999/
<Proxy *>
AllowOverride None
Require valid-user
AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/apache2/.htpasswd
</Proxy>
</VirtualHost>
有没有人知道如何在puppet中结合使用基本身份验证?
答案 0 :(得分:0)
有同样的问题...
您只需要在目录块中添加一个“提供程序”并将其设置为“代理”。
看起来像:
directories => [
{
provider => 'proxy',
path => '*'
...
如果将提供者设置为“位置”而不是代理,也可以使用。但是,如果您需要代理,只需将提供程序设置为代理。