server {
    listen 443;
    server_name skiaalerts.com;
    access_log /mnt/pd0/wwwlogs/skiaalerts.access.log;
    error_log /mnt/pd0/wwwlogs/skiaalerts.error.log;

    ssl on;
    ssl_certificate         /etc/nginx/ssl/skiaalerts_com.pem;
    ssl_certificate_key     /etc/nginx/ssl/skiaalerts_com.key;

    proxy_connect_timeout       5m;
    proxy_send_timeout          5m;
    proxy_read_timeout          5m;
    send_timeout                5m;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8001;
    }
}

server {
    listen      80;
    server_name skiaalerts.com;
    return 301 https://skiaalerts.com$request_uri;
}
