I’ve definitely narrowed it down to this file, which is for sure causing the boot failure -
/var/discourse/templates/web.ratelimited-whitelist.template.yml
which I’m pasting below (with IPs redacted):
params:
reqs_per_second: 12
burst_per_second: 12
reqs_per_minute: 200
burst_per_minute: 100
conn_per_ip: 20
run:
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: /server.+{/
to: |
geo $limit {
default 1;
XX.YYY.ZZ.ZZZ 0; # hubprod
XXX.YY.ZZZ.ZZZ 0; # hubdev
}
map $limit $limit_key {
0 "";
1 $binary_remote_addr;
}
limit_req_zone $limit_key zone=flood:10m rate=$reqs_per_secondr/s;
limit_req_zone $limit_key zone=bot:10m rate=$reqs_per_minuter/m;
limit_req_status 429;
limit_conn_zone $limit_key zone=connperip:10m;
limit_conn_status 429;
server {
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "/location @discourse {/"
to: |
location @discourse {
limit_conn connperip $conn_per_ip;
limit_req zone=flood burst=$burst_per_second nodelay;
limit_req zone=bot burst=$burst_per_minute nodelay;
Is there anything in the run command here that looks off? YAML linting still looks OK.