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


Reply via email to