ServerName <%= @vhost_name %> ServerAdmin <%= @serveradmin %> <% if @serveraliases.is_a? Array %> <% @serveraliases.each do |name| %><%= " ServerAlias #{name}\n" %><% end %> <% elsif ! ['', nil].include?(@serveraliases) %> <%= " ServerAlias #{@serveraliases}" %> <% end %> ErrorLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-access.log combined # Proxy GETs for elasticsearch .*/_aliases, .*/_status, .*/_search, # .*/_mapping, .*/_mapping/field/.*, _cluster/health, _cluster/state/.*, # _nodes. and _nodes/stats # These GETs allow read-only access for kibana3, elasticsearch-head, and bigdesk, # as well as arbitrary searches using the elasticsearch search api. RewriteEngine on RewriteCond %{REQUEST_METHOD} GET RewriteRule ^<%= scope.lookupvar('::kibana::js::elasticsearch_prefix') %>((.*/)?_aliases|(.*/)?_status|(.*/)?_search|(.*/)?_mapping(/field(/.*)?)?|_cluster/(health|state(/.*)?)|_nodes(/stats)?)$ <%= scope.lookupvar('::kibana::js::elasticsearch_url') %>/$1 [P] RewriteCond %{REQUEST_METHOD} POST RewriteRule ^<%= scope.lookupvar('::kibana::js::elasticsearch_prefix') %>(_aliases|(.*/)?_search)$ <%= scope.lookupvar('::kibana::js::elasticsearch_url') %>/$1 [P] RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^<%= scope.lookupvar('::kibana::js::elasticsearch_prefix') %>((.*/)?_search)$ <%= scope.lookupvar('::kibana::js::elasticsearch_url') %>/$1 [P] /> ProxySet connectiontimeout=<%= scope.lookupvar('::kibana::js::vhost_proxy_connect_timeout') %> timeout=<%= scope.lookupvar('::kibana::js::vhost_proxy_timeout') %> ProxyPassReverse <%= scope.lookupvar('::kibana::js::elasticsearch_prefix') %> <%= scope.lookupvar('::kibana::js::elasticsearch_url') %>/ DocumentRoot <%= @docroot %> > Options -Multiviews = 2.4> Require all granted