← back to AbramsOS

deploy/abramsos.agentabrams.com.nginx.conf

33 lines

# abramsos.agentabrams.com — Kamatera nginx reverse-proxy to AbramsOS on Steve's Mac (tailnet).
# Fleet HTTP Basic Auth (admin / DW2024!) guards the public door; the app then trusts the gate
# and acts as the owner (SINGLE_USER_AUTOLOGIN). ACME challenge is exempt so certbot can renew.
server {
  listen 45.61.58.125:80;
  server_name abramsos.agentabrams.com;
  location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; default_type "text/plain"; auth_basic off; }
  location / { return 301 https://$host$request_uri; }
}
server {
  listen 45.61.58.125:443 ssl;
  server_name abramsos.agentabrams.com;
  ssl_certificate     /etc/letsencrypt/live/abramsos.agentabrams.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/abramsos.agentabrams.com/privkey.pem;
  include /etc/letsencrypt/options-ssl-nginx.conf;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  auth_basic "AbramsOS";
  auth_basic_user_file /etc/nginx/.htpasswd-abramsos;

  location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; default_type "text/plain"; auth_basic off; }
  location / {
    proxy_pass http://100.82.17.107:9774;   # Steve's Mac (tailnet), AbramsOS :9774
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_connect_timeout 10s;
    proxy_read_timeout 300s;
  }
}