56 lines
1.1 KiB
Django/Jinja
56 lines
1.1 KiB
Django/Jinja
include /etc/nginx/modules-enabled/*.conf;
|
|
|
|
events {}
|
|
|
|
# TCP Load Balancing for the K3s API
|
|
stream {
|
|
upstream k3s_servers {
|
|
{% for ip in k3s_server_ips %}
|
|
server {{ ip }}:{{k3s.loadbalancer.default_port}};
|
|
{% endfor %}
|
|
}
|
|
|
|
server {
|
|
listen {{k3s.loadbalancer.default_port}};
|
|
proxy_pass k3s_servers;
|
|
}
|
|
}
|
|
|
|
http {
|
|
upstream k3s_servers_http {
|
|
least_conn;
|
|
{% for ip in k3s_server_ips %}
|
|
server {{ ip }}:80;
|
|
{% endfor %}
|
|
}
|
|
|
|
upstream k3s_servers_https {
|
|
least_conn;
|
|
{% for ip in k3s_server_ips %}
|
|
server {{ ip }}:443;
|
|
{% endfor %}
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
|
|
location / {
|
|
proxy_pass http://k3s_servers_http;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto http;
|
|
}
|
|
}
|
|
|
|
server {
|
|
listen 443;
|
|
|
|
location / {
|
|
proxy_pass https://k3s_servers_https;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
}
|
|
}
|
|
}
|