-
Nginx 를 통해 Cloudfront 를 사용하는 방법기술 2021. 9. 24. 19:22
Django Template 으로 이루어진 내부 시스템의 일부 URL 을 React 와 REST API 로 구성된 2.0 버전으로 보이게하기위해 nginx 설정이 필요했었습니다.
URL 을 포워딩 하기위한 nginx 설정
요청이 온 URL 을 다른 URL 로 변경할 수 있는 방법이 두가지 있습니다.
- rewrite 을 통해 URL String 을 정규식을 통해 변경할 수 있습니다.
- proxy_pass 를 통해 들어온 요청을 다른 곳으로 포워딩 할 수 있습니다.
추가적인 Nginx 설정
Cloudfront URL 이 도메인이므로 IP 로 변경하는데 사용하는 DNS 를 resolver 라는 예약어를 통해 지정해야합니다. 저희는 AWS 에서 nginx 설정을 사용하고 있었고, AWS 의 기본 DNS 는 172.31.0.2 입니다.
만약 설정하지 않은 경우 1 no resolver defined to resolve "<CLOUDFRONT_URL>" 이라는 에러가 발생합니다.
결과
생각보다 간단하게 결과를 냈습니다.
동일한 도메인이기 때문에 django template 에서 로그인하고 Session 을 사용하여 REST 인증을 하고 2.0 버전을 간단하게 붙였습니다!
location /logistics { resolver 172.31.0.2 valid=5s; set $net_front "<CLOUDFRONT_URL>"; proxy_set_header Host $new_front; proxy_pass https://$new_front/index.html$is_args$args; }
기타
location 은 cloufront 의 예약어인 것 같습니다. query_string 에 location 이라는 키워드를 사용하게 되면 403이 뜨게됩니다.
'기술' 카테고리의 다른 글
Java 의 생성자 동작 ( GSON 을 통해 Class 를 만들었을 때 기본 값이 설정되지 않는 문제 ) (0) 2023.08.31 터미널에서 특정 포트를 Kill 하는 방법 (0) 2021.09.24