Files
homelab/nginx.conf
T
2023-08-18 14:12:18 -07:00

130 lines
3.2 KiB
Nginx Configuration File

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
events {
worker_connections 1024;
}
http {
# TODO: route to proper location based on subdomain
server {
listen 80 default_server;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 80;
server_name flowy.live;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 443 ssl;
server_name flowy.live;
# RSA certificate
ssl_certificate /etc/letsencrypt/live/flowy.live/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/flowy.live/privkey.pem; # managed by Certbot
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 80;
server_name registry.flowy.live;
client_max_body_size 500M;
location / {
proxy_pass http://registry:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443 ssl;
server_name registry.flowy.live;
client_max_body_size 500M;
# RSA certificate
ssl_certificate /etc/letsencrypt/live/flowy.live/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/flowy.live/privkey.pem; # managed by Certbot
location / {
proxy_pass http://registry:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
#k8s api: passthrough grpc/tcp
server {
listen 80 http2;
server_name api.flowy.live;
default_type application/grpc;
location / {
# Replace localhost:50051 with the address and port of your gRPC server
# The 'grpc://' prefix is optional; unencrypted gRPC is the default
grpc_pass grpc://localhost:30485;
}
}
server {
listen 443 ssl http2;
server_name api.flowy.live;
default_type application/grpc;
# RSA certificate
ssl_certificate /etc/letsencrypt/live/flowy.live/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/flowy.live/privkey.pem; # managed by Certbot
location / {
grpc_pass grpc://localhost:30485;
}
}
}
stream {
# k8s audio relay
server {
listen 6000 udp;
proxy_pass localhost:33600; # TODO: change to NodePort of udp deployment service
}
# k8s video relay
server {
listen 6001 udp;
proxy_pass localhost:33600; # TODO: change to NodePort of udp deployment service
}
# k8s presence heartbeat
server {
listen 6002;
proxy_pass localhost:33600; # TODO: change to NodePort of tcp presence deployment service
}
# rameelo mysql
server {
listen 3306;
proxy_pass localhost:31792;
}
}