Hi, I got this VPS here where I'm hosting a bunch of static sites for friends and family with httpd (Let's Encrypt). Now, however, I've agreed to host a bunch of Django (Unicorn) and Rails (Puma) apps as well, and I'm starting to think maybe I've bitten off more than I can chew.
Am I on the right path here? Would anybody mind giving me a nudge in the right direction? +----+----------+---------+----------------------+ Internet | pf | relayd | httpd | staticsite1.com:8000 | | | (80/443) | | staticsite2.com:8000 | | | | | staticsite3.com:8000 | | | | | staticsite4.com:8000 | | | | +----------------------+ | | | Unicorn | djangoapp1.com:7001 | | | | | djangoapp2.com:7002 | | | | +----------------------+ | | | Puma | railsapp1.com:6001 | | | | | railsapp2.com:6002 | +----+----------+---------+----------------------+ -- # /etc/pf.conf pass in on $ext_if inet proto tcp from any to $ext_if port { 80, 443 } keep state -- # /etc/relayd.conf my_ip="127.0.0.1" relayd_port="80" table <static_sites> { $my_ip } table <django_apps> { $my_ip } table <rails_apps> { $my_ip } http protocol "httpfilter" { tcp { nodelay, sack, backlog 128 } return error match header set "X-Client-IP" value "$REMOTE_ADDR:$REMOTE_PORT" match header set "X-Forwarded-For" value "$REMOTE_ADDR" match header set "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT" } relay "reverseproxy" { listen on $my_ip port $relayd_port protocol "httpfilter" forward to <static_sites> port 8000 forward to <django_apps> port 7001 forward to <django_apps> port 7002 forward to <rails_apps> port 6001 forward to <rails_apps> port 6002 } -- # /etc/httpd.conf server "staticsite1.com" { listen on * port 8000 root "/htdocs/staticsite1.com" [...] } server "staticsite1.com" { listen on * tls port 443 root "/htdocs/staticsite1.com" [...] } [...] -- Thanks, Joe