- 한번 주석으로 설명을 달아보고자 했다.
- nginx 안의 server, listen, proxy_pass~~에 관해서 알아보고 싶었어
1. 클라이언트 (리액트 정적 빌드 파일)
server {
listen 443 ssl;
server_name 도메인.kro.kr;
ssl_certificate C:\Certbot\live\도메인.kro.kr\fullchain.pem;
ssl_certificate_key C:\Certbot\live\도메인.kro.kr\privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root C:\Users\Administrator\Desktop\Front\build;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
- Forward Proxy 는 클라이언트가 요청하는 End Point 가 실제 서버 도메인이고 프록시는 둘 사이의 통신을 담당해준다.
- Reverse Proxy 는 클라이언트가 요청하는 End Point 가 프록시 서버의 도메인이고 실제 서버의 정보는 알 수 없다.
2. 서버
server {
listen 446 ssl;
server_name 도메인.kro.kr;
ssl_certificate C:\Certbot\live\도메인.kro.kr\fullchain.pem;
ssl_certificate_key C:\Certbot\live\도메인.kro.kr\privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://도메인.kro.kr:8180;
proxy_set_header Host $http_host;
# 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;
proxy_set_header Upgrade $http_upgrade; #소켓 연결을 위해 추가
proxy_set_header Connection "upgrade"; #소켓 연결을 위해 추가
proxy_http_version 1.1; #소켓 연결을 위해 추가
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
}
reference
리버스 vs forward proxy
nginx 설정 파일