2023-06-21, 06:41 PM
(This post was last modified: 2024-12-01, 07:24 PM by gaming09. Edited 3 times in total.)
*** Guide now Deprecated - updated guide HERE ***
Edited: Added backend security update
For whatever reason this has been a lot of trial and error and via pfsense HA gui doesn't always align to HAproxy config documentation
For reverse proxy via HAproxy on PFSense this is what you need
Backend: (Example 1.bmp)
Your Jellyfin backend>Advanced Settings>Backend pass thru
These 3 lines as is
*** change JELLYFINLOCALIP with your local IP
Frontend (Example 2.bmp)
Your Frontend>Default backend, access control lists and actions>Access Control lists>Table
***JF is my short-name to attach to the actions table to hit the backend for HA proxy change it to yours
***Change YOUR_PUBLIC_URL.com to your external URL
I hope this helps someone else and saves them a few hours of logs (most of this was available on the jellyfin guide but it wasn't intuitive for the GUI
https://jellyfin.org/docs/general/networking/haproxy/
Maybe I have extra stuff in there, if I do let me know. As far as I can tell everything is working now without errors
Edited: Added backend security update
For whatever reason this has been a lot of trial and error and via pfsense HA gui doesn't always align to HAproxy config documentation
For reverse proxy via HAproxy on PFSense this is what you need
Backend: (Example 1.bmp)
Your Jellyfin backend>Advanced Settings>Backend pass thru
These 3 lines as is
*** change JELLYFINLOCALIP with your local IP
Code:
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
server jellyfin(or your backend name) JELLYFINLOCALIP:8096
http-response set-header Access-Control-Allow-Origin https://YOURJFDOMAIN.com
http-response set-header Cache-Control "no-cache, no-store, must-revalidate, private"
http-response del-header Server
Frontend (Example 2.bmp)
Your Frontend>Default backend, access control lists and actions>Access Control lists>Table
***JF is my short-name to attach to the actions table to hit the backend for HA proxy change it to yours
***Change YOUR_PUBLIC_URL.com to your external URL
Code:
jf | Custom ACL: | hdr(host) -i YOUR_PUBLIC_URL.com
host_ws | Host starts with: | ws.
hdr_connection_upgrade | Custom acl: | hdr(Connection) -i upgrade
hdr_upgrade_websocket | Custom acl: | hdr(Upgrade) -i websocket
I hope this helps someone else and saves them a few hours of logs (most of this was available on the jellyfin guide but it wasn't intuitive for the GUI
https://jellyfin.org/docs/general/networking/haproxy/
Maybe I have extra stuff in there, if I do let me know. As far as I can tell everything is working now without errors
Stats:
JF running on Unraid Docker
Library Transcoded to h265 mkv via TDARR
Ram Drive Transcode
5950x
1660ti
60tb
JF running on Unraid Docker
Library Transcoded to h265 mkv via TDARR
Ram Drive Transcode
5950x
1660ti
60tb