Now I feel dumb. Didn't need relayd at all - just the "fastcgi" option inside a httpd server block.
Jesus christ. Sent with ProtonMail Secure Email. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday 23. April 2020 kl. 04:17, Joe Ansbach <[email protected]> wrote: > 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

