Files
ansible/roles/loadbalancer/templates/nginx.conf.j2
Tuan-Dat Tran a09448985c Added https lb for lb
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2024-09-30 20:06:27 +02:00

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;
}
}
}