cloudfoundry-incubator/stratos

View on GitHub
deploy/containers/nginx/conf/nginx.k8s.conf

Summary

Maintainability
Test Coverage
worker_processes 2;

events {
    worker_connections              4096;
    use                             epoll;
}

http {

    upstream portalproxy {
        least_conn;
        server                      localhost:3003;
        keepalive                   32;
    }

    include                         mime.types;
    default_type                    application/octet-stream;
    keepalive_timeout               70;
    proxy_read_timeout              200;
    sendfile                        off;
    tcp_nopush                      on;
    tcp_nodelay                     on;
    gzip                            on;
    gzip_min_length                 1000;
    gzip_proxied                    any;
    gzip_types                      text/plain text/html text/css text/xml
                                    application/x-javascript application/xml
                                    application/atom+xml text/javascript;

    proxy_next_upstream             error;

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      '';
    }

    ssl_session_cache               shared:SSL:10m;
    ssl_session_timeout             10m;

    server {
        listen                      80;
        return                      301 https://$host$request_uri;
    }

    server {
        listen                      443 ssl;

        ssl_certificate             /CONSOLE_CERT_PATH/tls.crt;
        ssl_certificate_key         /CONSOLE_CERT_PATH/tls.key;
        ssl_protocols               __PROTOCOLS__;
        ssl_ciphers                 __CIPHERS__;
        ssl_prefer_server_ciphers   on;

        client_max_body_size        50M;

        location /pp/ {
            proxy_pass_header       Server;
            proxy_set_header        Host $http_host;
            proxy_redirect          off;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Scheme $scheme;
            proxy_pass              https://portalproxy/pp/;
            proxy_intercept_errors  on;
            proxy_http_version      1.1;
            proxy_set_header        Upgrade $http_upgrade;
            proxy_set_header        Connection $connection_upgrade;
        }

        location /api {
            proxy_pass_header       Server;
            proxy_set_header        Host $http_host;
            proxy_redirect          off;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Scheme $scheme;
            proxy_pass              https://portalproxy;
            proxy_intercept_errors  on;
            proxy_http_version      1.1;
            proxy_set_header        Upgrade $http_upgrade;
            proxy_set_header        Connection $connection_upgrade;
        }

        location / {
            root                    /usr/share/nginx/html;
            add_header Cache-Control no-cache;
            add_header X-Frame-Options SAMEORIGIN;
            try_files $uri$args $uri$args/ /index.html;
        }
    }
}