Puppet:Apache代理+基本身份验证

时间:2018-02-08 16:12:54

标签: apache authentication proxy puppet mod-proxy

我正在尝试使用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中结合使用基本身份验证?

1 个答案:

答案 0 :(得分:0)

有同样的问题...

您只需要在目录块中添加一个“提供程序”并将其设置为“代理”。

看起来像:

directories => [
      {
        provider => 'proxy',
        path     => '*'
        ...

如果将提供者设置为“位置”而不是代理,也可以使用。但是,如果您需要代理,只需将提供程序设置为代理。