};
services.myWebsites.tools.modules = [
- "headers" "proxy" "proxy_wstunnel" "proxy_http" "proxy_balancer"
- "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat"
+ "headers" "proxy" "proxy_wstunnel" "proxy_http"
];
security.acme.certs."eldiron".extraDomains."mastodon.immae.eu" = null;
services.myWebsites.tools.vhostConfs.mastodon = {
ProxyPassMatch ^(/.*\.(png|ico|gif)$) !
ProxyPassMatch ^/(assets|avatars|emoji|headers|packs|sounds|system|.well-known/acme-challenge) !
- ProxyPassMatch /api/v1/streaming/(.+)$ balancer://node_servers_http/api/v1/streaming/$1
- ProxyPass /api/v1/streaming/ balancer://node_servers/
- ProxyPassReverse /api/v1/streaming/ balancer://node_servers/
- ProxyPass / balancer://puma_servers/
- ProxyPassReverse / balancer://puma_servers/
-
- <Proxy balancer://puma_servers>
- BalancerMember unix://${mastodon.railsSocket}|http://
- </Proxy>
-
- <Proxy balancer://node_servers>
- BalancerMember unix://${mastodon.nodeSocket}|ws://localhost
- </Proxy>
-
- <Proxy balancer://node_servers_http>
- BalancerMember unix://${mastodon.nodeSocket}|http://localhost
- </Proxy>
+ RewriteRule ^/api/v1/streaming/(.+)$ unix://${mastodon.nodeSocket}|http://mastodon.immae.eu/api/v1/streaming/$1 [P,NE,QSA,L]
+ RewriteRule ^/api/v1/streaming/$ unix://${mastodon.nodeSocket}|ws://mastodon.immae.eu/ [P,NE,QSA,L]
+ ProxyPass / unix://${mastodon.railsSocket}|http://mastodon.immae.eu/
+ ProxyPassReverse / unix://${mastodon.railsSocket}|http://mastodon.immae.eu/
Alias /system ${mastodon.varDir}