github.com/solo-io/cue@v0.4.7/doc/tutorial/kubernetes/manual/services/proxy/nginx/configmap.cue (about)

     1  package kube
     2  
     3  configMap: nginx: "nginx.conf": """
     4  		events {
     5  		    worker_connections 768;
     6  		}
     7  		http {
     8  		    sendfile on;
     9  		    tcp_nopush on;
    10  		    tcp_nodelay on;
    11  		    # needs to be high for some download jobs.
    12  		    keepalive_timeout 400;
    13  		    # proxy_connect_timeout  300;
    14  		    proxy_send_timeout       300;
    15  		    proxy_read_timeout       300;
    16  		    send_timeout             300;
    17  
    18  		    types_hash_max_size 2048;
    19  
    20  		    include /etc/nginx/mime.types;
    21  		    default_type application/octet-stream;
    22  
    23  		    access_log /dev/stdout;
    24  		    error_log  /dev/stdout;
    25  
    26  		    # Disable POST body size constraints. We often deal with large
    27  		    # files. Especially docker containers may be large.
    28  		    client_max_body_size 0;
    29  
    30  		    upstream goget {
    31  		        server localhost:7070;
    32  		    }
    33  
    34  		    # Redirect incoming Google Cloud Storage notifications:
    35  		   server {
    36  		        listen 443 ssl;
    37  		        server_name notify.example.com notify2.example.com;
    38  
    39  		        ssl_certificate /etc/ssl/server.crt;
    40  		        ssl_certificate_key /etc/ssl/server.key;
    41  
    42  		        # Security enhancements to deal with poodles and the like.
    43  		        # See https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
    44  		        # ssl_ciphers 'AES256+EECDH:AES256+EDH';
    45  		        ssl_ciphers \"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";
    46  
    47  		        # We don't like poodles.
    48  		        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    49  		        ssl_session_cache shared:SSL:10m;
    50  
    51  		        # Enable Forward secrecy.
    52  		        ssl_dhparam /etc/ssl/dhparam.pem;
    53  		        ssl_prefer_server_ciphers on;
    54  
    55  		        # Enable HTST.
    56  		        add_header Strict-Transport-Security max-age=1209600;
    57  
    58  		        # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
    59  		        chunked_transfer_encoding on;
    60  
    61  		        location / {
    62  		            proxy_pass http://tasks:7080;
    63  		            proxy_connect_timeout 1;
    64  		        }
    65  		    }
    66  
    67  		    server {
    68  		        listen 80;
    69  		        listen 443 ssl;
    70  		        server_name x.example.com example.io;
    71  
    72  		        location ~ \"(/[^/]+)(/.*)?\" {
    73  		            set $myhost $host;
    74  		            if ($arg_go-get = \"1\") {
    75  		                set $myhost \"goget\";
    76  		            }
    77  		            proxy_pass http://$myhost$1;
    78  		            proxy_set_header Host $host;
    79  		            proxy_set_header X-Real-IP $remote_addr;
    80  		            proxy_set_header X-Scheme $scheme;
    81  		            proxy_connect_timeout 1;
    82  		        }
    83  
    84  		        location / {
    85  		            set $myhost $host;
    86  		            if ($arg_go-get = \"1\") {
    87  		                set $myhost \"goget\";
    88  		            }
    89  		            proxy_pass http://$myhost;
    90  		            proxy_set_header Host $host;
    91  		            proxy_set_header X-Real-IP $remote_addr;
    92  		            proxy_set_header X-Scheme $scheme;
    93  		            proxy_connect_timeout 1;
    94  		        }
    95  		    }
    96  
    97  		    server {
    98  		        listen 80;
    99  		        server_name www.example.com w.example.com;
   100  
   101  		        resolver 8.8.8.8;
   102  
   103  		        location / {
   104  		            proxy_set_header X-Forwarded-Host $host;
   105  		            proxy_set_header X-Forwarded-Server $host;
   106  		            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   107  		            proxy_set_header X-Real-IP $remote_addr;
   108  
   109  		            proxy_pass http://$host.default.example.appspot.com/$request_uri;
   110  		            proxy_redirect http://$host.default.example.appspot.com/ /;
   111  		        }
   112  		    }
   113  
   114  		    # Kubernetes URI space. Maps URIs paths to specific servers using the
   115  		    # proxy.
   116  		    server {
   117  		        listen 80;
   118  		        listen 443 ssl;
   119  		        server_name proxy.example.com;
   120  
   121  		        ssl_certificate /etc/ssl/server.crt;
   122  		        ssl_certificate_key /etc/ssl/server.key;
   123  
   124  		        # Security enhancements to deal with poodles and the like.
   125  		        # See https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
   126  		        # ssl_ciphers 'AES256+EECDH:AES256+EDH';
   127  		        ssl_ciphers \"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";
   128  
   129  		        # We don't like poodles.
   130  		        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   131  		        ssl_session_cache shared:SSL:10m;
   132  
   133  		        # Enable Forward secrecy.
   134  		        ssl_dhparam /etc/ssl/dhparam.pem;
   135  		        ssl_prefer_server_ciphers on;
   136  
   137  		        # Enable HTST.
   138  		        add_header Strict-Transport-Security max-age=1209600;
   139  
   140  		        if ($ssl_protocol = \"\") {
   141  		            rewrite ^   https://$host$request_uri? permanent;
   142  		        }
   143  
   144  		        # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
   145  		        chunked_transfer_encoding on;
   146  
   147  		        location / {
   148  		            proxy_pass http://kubeproxy:4180;
   149  		            proxy_set_header Host $host;
   150  		            proxy_set_header X-Real-IP $remote_addr;
   151  		            proxy_set_header X-Scheme $scheme;
   152  		            proxy_connect_timeout 1;
   153  		        }
   154  		    }
   155  
   156  		    server {
   157  		        # We could add the following line and the connection would still be SSL,
   158  		        # but it doesn't appear to be necessary. Seems saver this way.
   159  		        listen 80;
   160  		        listen 443 default ssl;
   161  		        server_name ~^(?<sub>.*)\\.example\\.com$;
   162  
   163  		        ssl_certificate /etc/ssl/server.crt;
   164  		        ssl_certificate_key /etc/ssl/server.key;
   165  
   166  		        # Security enhancements to deal with poodles and the like.
   167  		        # See https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
   168  		        # ssl_ciphers 'AES256+EECDH:AES256+EDH';
   169  		        ssl_ciphers \"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4\";
   170  
   171  		        # We don't like poodles.
   172  		        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   173  		        ssl_session_cache shared:SSL:10m;
   174  
   175  		        # Enable Forward secrecy.
   176  		        ssl_dhparam /etc/ssl/dhparam.pem;
   177  		        ssl_prefer_server_ciphers on;
   178  
   179  		        # Enable HTST.
   180  		        add_header Strict-Transport-Security max-age=1209600;
   181  
   182  		        if ($ssl_protocol = \"\") {
   183  		            rewrite ^   https://$host$request_uri? permanent;
   184  		        }
   185  
   186  		        # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
   187  		        chunked_transfer_encoding on;
   188  
   189  		        location / {
   190  		            proxy_pass http://authproxy:4180;
   191  		            proxy_set_header Host $host;
   192  		            proxy_set_header X-Real-IP $remote_addr;
   193  		            proxy_set_header X-Scheme $scheme;
   194  		            proxy_connect_timeout 1;
   195  		        }
   196  		    }
   197  		}
   198  		"""