Something like this?
...
/etc/pf.conf:3: dst port only applies to tcp/udp
/etc/pf.conf:3: rpool port only applies to tcp/udp
/etc/pf.conf:3: skipping rule due to errors
/etc/pf.conf:3: rule expands to no valid combination
/etc/pf.conf:6: port only applies to tcp/udp
/etc/pf.conf:6: skipping rule due to errors
/etc/pf.conf:6: rule expands to no valid combination
pfctl: Syntax error in config file: pf rules not loaded
rdr on $int_if proto { tcp, udp } from any to any port 80 -> 127.0.0.1 port 8080
block in on $inf_if all
pass in on $int_if proto { tcp, udp } from any to 127.0.0.1 port 8080
$ sockstat -l|grep 80
freebsd beam.smp 40767 14 tcp4 *:8080
...
server {
listen 80;
location / {
proxy_pass http://localhost:8080;
}
}
It won't. Not unless you're already pushing it to its limits. But then you shouldn't be running the application on that same host either.I had considered proxying via Nginx but had to rule it out – it's an additional complication and in my case may cause my web service to slow down;
If you're already pushing it you should look into load-balancing solutions like net/haproxy for example. Besides that, the Erlang webserver isn't designed for this, it's a fairly basic webserver. Good enough for development testing and small scale deployment. It's not meant to handle massive amounts of requests.it's an Erlang service that gets a fair number of req/s.
No, it's started as root but drops its privileges to a restricted user account once the port has been opened.Also, wouldn't Nginx fall under the same privilege issue when trying to bind to port 80?