React에서 nginx를 통한 api통신
결론부터 말하자면
해결 당시 상황
클라이언트(443포트)는 ajax요청 주소를 "https://aaa.com/api"로 설정하고,
node express는 3002포트로 ssl을 인증받은 서버를 열어, get("/api") 주소에
mysql에서 호출한 데이터를 response 해준다.
nginx에서 proxy pass를 통해 클라이언트에서 받은 "https://aaa.com/api" 요청을
"https://aaa.com:3001/api"로 전달해준다.
상황1.(현재 채택된 방법)
굳이 node에 ssl인증을 받아야하나싶어 ssl을 인증을 빼고 그냥 서버를 열었다.
클라이언트(443포트)는 ajax요청 주소를 "https://aaa.com/api"로 설정하고,
node express는 3002포트로 http서버를 열어, get("/api") 주소에
mysql에서 호출한 데이터를 response 해준다.
nginx에서 proxy pass를 통해 클라이언트에서 받은 "https://aaa.com/api" 요청을
"http://aaa.com:3001/api"로 전달해준다.
이것도 문제없이 SSL이 인증되면서 api통신이 가능하였다.
상황2.
nginx의 aaa.com.conf의 설정에 대한 의문이다.
listen 80과 443이 있는데, 프록시 패스를 80에 설정하느냐 443에 설정하느냐에 따라
왜 결과가 다른지 모르겠어서 시도해봤다.
80에 프록시패스를 작성하면 문제없었지만
443에 작성하면 아래와 같은 오류가 난다.
나중에 nginx 사용법을 더 공부하여 원인을 알아보자.
오류 : Failed to load resource: the server responded with a status of 502 (Bad Gateway)
https://hello-bryan.tistory.com/173
[Nginx] nginx.conf 에 Proxy 설정
nginx.conf 에 Proxy 설정 upstream app { server localhost:8080; } server { listen 80; localhost / { root /app/build; index index.html; try_files $uri $uri/ /index.html; } localhost /api { proxy_pa..
hello-bryan.tistory.com
nginX + 리버스프록시 + https(ssl) 적용하기
일전에 nginX에서 리버스프록시를 구현하는 글을 블로깅 한적이 있었는데 최근에 모두 https(ssl)로 바뀌면서 Reverse Proxy에서도 적용할 방법을 찾았습니다. 제 업무가 전산업이 아니다 보니 적용해
akal.co.kr