# ============================================================ # AutoLibrary Nginx Config — autolibrary.kenanzhu.com # ============================================================ # --- Root domain redirect to www --- server { listen 80; server_name autolibrary.kenanzhu.com; if ($host = autolibrary.kenanzhu.com) { return 301 https://$host$request_uri; } # managed by Certbot return 404; # managed by Certbot } server { listen 443 ssl; # managed by Certbot server_name autolibrary.kenanzhu.com; ssl_certificate /etc/letsencrypt/live/autolibrary.kenanzhu.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/autolibrary.kenanzhu.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot return 301 https://www.autolibrary.kenanzhu.com$request_uri; } # --- www Frontend --- server { listen 80; server_name www.autolibrary.kenanzhu.com; if ($host = www.autolibrary.kenanzhu.com) { return 301 https://$host$request_uri; } # managed by Certbot return 404; # managed by Certbot } server { listen 443 ssl; # managed by Certbot server_name www.autolibrary.kenanzhu.com; ssl_certificate /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot location / { proxy_pass http://127.0.0.1:3003; 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; } error_page 404 /errors/404; error_page 500 502 503 504 /errors/500; } # --- api Backend --- server { listen 80; server_name api.autolibrary.kenanzhu.com; if ($host = api.autolibrary.kenanzhu.com) { return 301 https://$host$request_uri; } # managed by Certbot return 404; # managed by Certbot } server { listen 443 ssl; # managed by Certbot server_name api.autolibrary.kenanzhu.com; ssl_certificate /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot location / { proxy_pass http://127.0.0.1:8080/; 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; } location /health { proxy_pass http://127.0.0.1:8080/health; access_log off; } } # --- auth Casdoor --- server { listen 80; server_name auth.autolibrary.kenanzhu.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name auth.autolibrary.kenanzhu.com; ssl_certificate /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.autolibrary.kenanzhu.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass http://127.0.0.1:8000/; 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; } }