Advertisement
remidebette

nginx.conf generated

May 24th, 2022
1,040
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Nginx 7.72 KB | None | 0 0
  1.     ## start server <hostname>
  2.     server {
  3.         server_name <hostname> ;
  4.        
  5.         listen 80  ;
  6.         listen 443  ssl http2 ;
  7.        
  8.         set $proxy_upstream_name "-";
  9.        
  10.         ssl_certificate_by_lua_block {
  11.             certificate.call()
  12.         }
  13.        
  14.         location ~* "^/154--push-to-gi(/|$)(.*)" {
  15.            
  16.             set $namespace      "...";
  17.             set $ingress_name   "...";
  18.             set $service_name   "...";
  19.             set $service_port   "5000";
  20.             set $location_path  "/154--push-to-gi(/|${literal_dollar})(.*)";
  21.             set $global_rate_limit_exceeding n;
  22.            
  23.             rewrite_by_lua_block {
  24.                 lua_ingress.rewrite({
  25.                     force_ssl_redirect = false,
  26.                     ssl_redirect = true,
  27.                     force_no_ssl_redirect = false,
  28.                     preserve_trailing_slash = false,
  29.                     use_port_in_redirects = false,
  30.                     global_throttle = { namespace = "", limit = 0, window_size = 0, key = { }, ignored_cidrs = { } },
  31.                 })
  32.                 balancer.rewrite()
  33.                 plugins.run()
  34.             }
  35.            
  36.             # be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
  37.             # will always succeed when there's `access_by_lua_block` that does not have any lua code doing `ngx.exit(ngx.DECLINED)`
  38.             # other authentication method such as basic auth or external auth useless - all requests will be allowed.
  39.             #access_by_lua_block {
  40.             #}
  41.            
  42.             header_filter_by_lua_block {
  43.                 lua_ingress.header()
  44.                 plugins.run()
  45.             }
  46.            
  47.             body_filter_by_lua_block {
  48.                 plugins.run()
  49.             }
  50.            
  51.             log_by_lua_block {
  52.                 balancer.log()
  53.                
  54.                 monitor.call()
  55.                
  56.                 plugins.run()
  57.             }
  58.            
  59.             port_in_redirect off;
  60.            
  61.             set $balancer_ewma_score -1;
  62.             set $proxy_upstream_name "...";
  63.             set $proxy_host          $proxy_upstream_name;
  64.             set $pass_access_scheme  $scheme;
  65.            
  66.             set $pass_server_port    $server_port;
  67.            
  68.             set $best_http_host      $http_host;
  69.             set $pass_port           $pass_server_port;
  70.            
  71.             set $proxy_alternative_upstream_name "";
  72.            
  73.             client_max_body_size                    1m;
  74.            
  75.             proxy_set_header Host                   $best_http_host;
  76.            
  77.             # Pass the extracted client certificate to the backend
  78.            
  79.             # Allow websocket connections
  80.             proxy_set_header                        Upgrade           $http_upgrade;
  81.            
  82.             proxy_set_header                        Connection        $connection_upgrade;
  83.            
  84.             proxy_set_header X-Request-ID           $req_id;
  85.             proxy_set_header X-Real-IP              $remote_addr;
  86.            
  87.             proxy_set_header X-Forwarded-For        $remote_addr;
  88.            
  89.             proxy_set_header X-Forwarded-Host       $best_http_host;
  90.             proxy_set_header X-Forwarded-Port       $pass_port;
  91.             proxy_set_header X-Forwarded-Proto      $pass_access_scheme;
  92.             proxy_set_header X-Forwarded-Scheme     $pass_access_scheme;
  93.            
  94.             proxy_set_header X-Scheme               $pass_access_scheme;
  95.            
  96.             # Pass the original X-Forwarded-For
  97.             proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
  98.            
  99.             # mitigate HTTPoxy Vulnerability
  100.             # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
  101.             proxy_set_header Proxy                  "";
  102.            
  103.             # Custom headers to proxied server
  104.            
  105.             proxy_connect_timeout                   5s;
  106.             proxy_send_timeout                      60s;
  107.             proxy_read_timeout                      60s;
  108.            
  109.             proxy_buffering                         off;
  110.             proxy_buffer_size                       4k;
  111.             proxy_buffers                           4 4k;
  112.            
  113.             proxy_max_temp_file_size                1024m;
  114.            
  115.             proxy_request_buffering                 on;
  116.             proxy_http_version                      1.1;
  117.            
  118.             proxy_cookie_domain                     off;
  119.             proxy_cookie_path                       off;
  120.            
  121.             # In case of errors try the next upstream server before returning an error
  122.             proxy_next_upstream                     error timeout;
  123.             proxy_next_upstream_timeout             0;
  124.             proxy_next_upstream_tries               3;
  125.            
  126.             rewrite "(?i)/154--push-to-gi(/|$)(.*)" /$2 break;
  127.             proxy_pass http://upstream_balancer;
  128.            
  129.             proxy_redirect                          off;
  130.            
  131.         }
  132.        
  133.         location ~* "^/" {
  134.            
  135.             set $namespace      "ichor";
  136.             set $ingress_name   "...";
  137.             set $service_name   "...";
  138.             set $service_port   "5000";
  139.             set $location_path  "/";
  140.             set $global_rate_limit_exceeding n;
  141.            
  142.             rewrite_by_lua_block {
  143.                 lua_ingress.rewrite({
  144.                     force_ssl_redirect = false,
  145.                     ssl_redirect = true,
  146.                     force_no_ssl_redirect = false,
  147.                     preserve_trailing_slash = false,
  148.                     use_port_in_redirects = false,
  149.                     global_throttle = { namespace = "", limit = 0, window_size = 0, key = { }, ignored_cidrs = { } },
  150.                 })
  151.                 balancer.rewrite()
  152.                 plugins.run()
  153.             }
  154.            
  155.             # be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
  156.             # will always succeed when there's `access_by_lua_block` that does not have any lua code doing `ngx.exit(ngx.DECLINED)`
  157.             # other authentication method such as basic auth or external auth useless - all requests will be allowed.
  158.             #access_by_lua_block {
  159.             #}
  160.            
  161.             header_filter_by_lua_block {
  162.                 lua_ingress.header()
  163.                 plugins.run()
  164.             }
  165.            
  166.             body_filter_by_lua_block {
  167.                 plugins.run()
  168.             }
  169.            
  170.             log_by_lua_block {
  171.                 balancer.log()
  172.                
  173.                 monitor.call()
  174.                
  175.                 plugins.run()
  176.             }
  177.            
  178.             port_in_redirect off;
  179.            
  180.             set $balancer_ewma_score -1;
  181.             set $proxy_upstream_name "...";
  182.             set $proxy_host          $proxy_upstream_name;
  183.             set $pass_access_scheme  $scheme;
  184.            
  185.             set $pass_server_port    $server_port;
  186.            
  187.             set $best_http_host      $http_host;
  188.             set $pass_port           $pass_server_port;
  189.            
  190.             set $proxy_alternative_upstream_name "";
  191.            
  192.             client_max_body_size                    1m;
  193.            
  194.             proxy_set_header Host                   $best_http_host;
  195.            
  196.             # Pass the extracted client certificate to the backend
  197.            
  198.             # Allow websocket connections
  199.             proxy_set_header                        Upgrade           $http_upgrade;
  200.            
  201.             proxy_set_header                        Connection        $connection_upgrade;
  202.            
  203.             proxy_set_header X-Request-ID           $req_id;
  204.             proxy_set_header X-Real-IP              $remote_addr;
  205.            
  206.             proxy_set_header X-Forwarded-For        $remote_addr;
  207.            
  208.             proxy_set_header X-Forwarded-Host       $best_http_host;
  209.             proxy_set_header X-Forwarded-Port       $pass_port;
  210.             proxy_set_header X-Forwarded-Proto      $pass_access_scheme;
  211.             proxy_set_header X-Forwarded-Scheme     $pass_access_scheme;
  212.            
  213.             proxy_set_header X-Scheme               $pass_access_scheme;
  214.            
  215.             # Pass the original X-Forwarded-For
  216.             proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
  217.            
  218.             # mitigate HTTPoxy Vulnerability
  219.             # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
  220.             proxy_set_header Proxy                  "";
  221.            
  222.             # Custom headers to proxied server
  223.            
  224.             proxy_connect_timeout                   5s;
  225.             proxy_send_timeout                      60s;
  226.             proxy_read_timeout                      60s;
  227.            
  228.             proxy_buffering                         off;
  229.             proxy_buffer_size                       4k;
  230.             proxy_buffers                           4 4k;
  231.            
  232.             proxy_max_temp_file_size                1024m;
  233.            
  234.             proxy_request_buffering                 on;
  235.             proxy_http_version                      1.1;
  236.            
  237.             proxy_cookie_domain                     off;
  238.             proxy_cookie_path                       off;
  239.            
  240.             # In case of errors try the next upstream server before returning an error
  241.             proxy_next_upstream                     error timeout;
  242.             proxy_next_upstream_timeout             0;
  243.             proxy_next_upstream_tries               3;
  244.            
  245.             rewrite "(?i)/" /$2 break;
  246.             proxy_pass http://upstream_balancer;
  247.            
  248.             proxy_redirect                          off;
  249.            
  250.         }
  251.        
  252.     }
  253.     ## end server <hostname>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement