/api/ย ๊ฒฝ๋ก๋ ๋ฐฑ์๋๋ก ๋ณด๋ด์ฃผ์ง๋ง, Swagger๊ฐ ๋ด๋ถ์ ์ผ๋ก ํธ์ถํ๋ API ๋ช
์ธ ๊ฒฝ๋ก์ธย /api-docs๋ฅผ ๋ชจ๋ฅด๊ณ ์์์.api-docs,ย swagger-ui,ย v3/api-docsย ๊ฒฝ๋ก๋ฅผ ๋ฐฑ์๋(8080)๋ก ํ๋ก์๋๋๋ก ๋ช
์์ ์ผ๋ก ์ถ๊ฐ./etc/nginx/sites-available/rarego
server {
server_name rarego.duckdns.org;
# Backend API (Spring Boot)
location /api/ {
proxy_pass <http://localhost:8080>;
proxy_http_version 1.1;
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;
}
# API ๋ฐ OAuth2 ๊ด๋ จ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐฑ์๋๋ก ์ ๋ฌ
location ~ ^/(api|oauth2|login/oauth2|api-docs|swagger-ui|v3/api-docs) {
proxy_pass <http://localhost:8080>;
proxy_http_version 1.1;
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;
}
# Frontend (Next.js)
location / {
proxy_pass <http://localhost:3000>;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/rarego.duckdns.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/rarego.duckdns.org/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
}
server {
if ($host = rarego.duckdns.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name rarego.duckdns.org;
return 404; # managed by Certbot
}