add apache vhost
This commit is contained in:
parent
3f3c817c8e
commit
4b190d24a0
1 changed files with 59 additions and 1 deletions
|
@ -289,5 +289,63 @@ class mastodon (
|
|||
timeout => 0,
|
||||
require => File["${mastodon_home}/live/.env.production"],
|
||||
}
|
||||
# Apache::vhost
|
||||
apache::vhost { $hostname:
|
||||
ensure => $ensure,
|
||||
access_log_file => $hostname,
|
||||
error_log_file => $hostname,
|
||||
docroot => "${mastodon_home}/live/public",
|
||||
manage_docroot => false,
|
||||
proxy_preserve_host => true,
|
||||
proxy_add_headers => true,
|
||||
port => 443,
|
||||
priority => 15,
|
||||
protocols => [
|
||||
'h2',
|
||||
'http/1.1',
|
||||
],
|
||||
protocols_honor_order => true,
|
||||
proxy_dest => [
|
||||
{ 'path' => '/500.html', 'url' => '!' },
|
||||
{ 'path' => '/sw.js', 'url' => '!' },
|
||||
{ 'path' => '/robots.txt', 'url' => '!' },
|
||||
{ 'path' => '/manifest.json', 'url' => '!' },
|
||||
{ 'path' => '/browserconfig.xml', 'url' => '!' },
|
||||
{ 'path' => '/mask-icon.svg', 'url' => '!' },
|
||||
],
|
||||
proxy_dest_reverse_match => [
|
||||
{ 'path' => '/api/v1/streaming', 'url' => 'ws://localhost:4000' },
|
||||
{ 'path' => '/', 'url' => 'http://localhost:3000/' },
|
||||
],
|
||||
proxy_dest_match => [
|
||||
{ 'path' => '^(/.*\.(png|ico)$)', 'url' => '!' },
|
||||
{ 'path' => '^/(assets|avatars|emoji|headers|packs|sounds|system)', 'url' => '!' },
|
||||
],
|
||||
request_headers => [
|
||||
'set X-Forwarded-Proto "https"',
|
||||
],
|
||||
headers => 'always set Strict-Transport-Security "max-age=31536000"',
|
||||
directories => [
|
||||
{
|
||||
'path' => '^/(assets|avatars|emoji|headers|packs|sounds|system)',
|
||||
'provider' => 'locationmatch',
|
||||
'headers' => 'always set Cache-Control "public, max-age=31536000, immutable"',
|
||||
'deny' => 'from all',
|
||||
'require' => 'all granted',
|
||||
},
|
||||
{
|
||||
'path' => '/',
|
||||
'provider' => 'location',
|
||||
'require' => 'all granted',
|
||||
},
|
||||
],
|
||||
error_documents => [
|
||||
{ 'error_code' => '500', 'document' => '/500' },
|
||||
{ 'error_code' => '501', 'document' => '/501' },
|
||||
{ 'error_code' => '502', 'document' => '/502' },
|
||||
{ 'error_code' => '503', 'document' => '/503' },
|
||||
{ 'error_code' => '504', 'document' => '/504' },
|
||||
],
|
||||
}
|
||||
# systemd units
|
||||
# systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue