← back to Kamatera Nginx

sites-available/losgardeners.conf

61 lines

server {
  listen 80;
  server_name losgardeners.com www.losgardeners.com;

  # Let's Encrypt ACME challenge
  location /.well-known/acme-challenge/ {
    root /var/www/html;
  }

  location / {
    return 301 https://losgardeners.com$request_uri;
  }
}

server {
  listen 443 ssl http2;
  server_name losgardeners.com www.losgardeners.com;
    ssl_certificate /etc/letsencrypt/live/losgardeners.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/losgardeners.com/privkey.pem; # managed by Certbot

  # Serve static files from the latino-gardens-la/public directory
  root /opt/WebsitesMisc/latino-gardens-la/public;
  index index.html;

  # Let's Encrypt ACME challenge
  location /.well-known/acme-challenge/ {
    root /var/www/html;
  }

  # Handle main page and static files
  location / {
    try_files $uri $uri/ /index.html;
  }

  # Proxy API requests to Node.js backend
  location /api/ {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    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_cache_bypass $http_upgrade;
  }
  
  # Proxy OAuth routes to Node.js backend
  location /auth/ {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    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_cache_bypass $http_upgrade;
  }
}