map $host $sogo { default sogo; }

server {
    listen      80;
    listen      [::]:80;
    server_name sogo.shore.co.il;
    include     snippets/robots-disallow-all.conf;
    include     snippets/ads-txt.conf;
    include     snippets/security-txt.conf;
    include     snippets/www-acme-challenge.conf;
    include     snippets/redirect-https.conf;
}

server {
    listen      443 ssl http2;
    listen      [::]:443 ssl http2;
    server_name sogo.shore.co.il;
    include     snippets/robots-disallow-all.conf;
    include     snippets/ads-txt.conf;
    include     snippets/security-txt.conf;
    include     snippets/ssl.conf;

    location    /       { return 301 https://$host/SOGo/; }
    location    /SOGo   { return 301 https://$host/SOGo/; }
    location /SOGo/ {
        proxy_pass              http://$sogo:20000$request_uri;
        proxy_http_version      1.1;
        include                 snippets/proxy-headers.conf;
        proxy_hide_header       X-Frame-Options;
        include                 snippets/allow-private-ips.conf;

        # Copied from http://wiki.sogo.nu/nginxSettings
        proxy_set_header        x-webobjects-server-protocol HTTP/1.1;
        proxy_set_header        x-webobjects-remote-host $sogo;
        proxy_set_header        x-webobjects-server-name $server_name;
        proxy_set_header        x-webobjects-server-url $scheme://$host;
        proxy_set_header        x-webobjects-server-port $server_port;
    }
}
