## Version 2021/05/18 # Make sure that DNS has a cname set for transmission # # Some Transmission Chrome extensions cannot handle HTTP/2 proxies as they # rely on the HTTP Status Text to determine if they should add the # X-Transmission-Session-Id header or not. HTTP/2 does not return this text # so jQuery responses are empty. This causes RPCs to fail. # # If your extension is affected, you can remove http2 from the default server # in /config/nginx/site-confs/default or listen on a different port that has # no http2 servers defined. Better yet, submit a bug report with the # extension developer to fix their extensions to support HTTP/2. server { listen 443 ssl; listen [::]:443 ssl; server_name transmission.*; include /config/nginx/ssl.conf; client_max_body_size 0; # enable for ldap auth, fill in ldap details in ldap.conf #include /config/nginx/ldap.conf; # enable for Authelia #include /config/nginx/authelia-server.conf; location / { # enable the next two lines for http auth #auth_basic "Restricted"; #auth_basic_user_file /config/nginx/.htpasswd; # enable the next two lines for ldap auth #auth_request /auth; #error_page 401 =200 /ldaplogin; # enable for Authelia #include /config/nginx/authelia-location.conf; include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app transmission; set $upstream_port 9091; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; proxy_pass_header X-Transmission-Session-Id; } location ~ (/transmission)?/rpc { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app transmission; set $upstream_port 9091; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } }