host 설정하기 및 nginx 설정

£€€.T.$·2023년 9월 1일

알고 가면 좋을 개념 : Service Discovery
알고 가면 좋을 개념 : 쿠버네티스

hosts 설정하기

C > Windows > System32 > drivers > etc > hosts

기본 ip인 127.0.0.1을 자신이 [설정한 주소].com로 설정하여 저장한다.


nginx 설정

C > dev > nginx-1.22.0 > conf > nginx.conf 을 열어준다.

server 의 listen 80포트를 [설정한 주소].com 주소로 바라보게 한다.

server {
listen       80;        
server_name  [설정한 주소].com
client_max_body_size 1000MB;

기본 location인 / 를 설정하여준다

location / {
	proxy_pass  http://127.0.0.1:3000;
	proxy_connect_timeout 10;			
	proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header     X-Real-IP $proxy_add_x_forwarded_for;
	proxy_set_header     user_agent $http_user_agent;
	proxy_set_header     referer $http_referer;
	proxy_set_header     Host $host;
        }		

로케이션 아래 깔리는 upstream을 설정하여준다. 내가 돌리는 application.yml 에 설정한 포트 번호를 적어준다 (리버스 프록시)

location ~ ^(/api/v1/calendar) {
	proxy_pass  http://calendar-common;
	proxy_connect_timeout 60;
	proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header     X-Real-IP $proxy_add_x_forwarded_for;
	proxy_set_header     user_agent $http_user_agent;
	proxy_set_header     referer $http_referer;
	proxy_set_header     Host $host;

# Headers for client browser NOCACHE
#add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
#expires off;
}

upstream 이름은 위에 설정한 proxy_pass http://calender-common; 에 들어가는 이름으로 설정한다.

upstream calendar-common {
server 127.0.0.1:8111;       
}

리버스 프록시란?


실행

cmd 관리자 실행으로 들어가서 nginx폴더가 있는 경로로 간 후 start nginx

명령어 종류

  • nginx : 기동
  • nginx -s stop : 정지
  • nginx -s reload : 재기동
  • nginx -t 설정파일 체크

nginx 연결이 안될 때 프로세스에서 잘못 돌아가는지 확인하고 nginx 가 아닌 strat nginx 명령어를 실행하도록 하자!

출처: 링크


JAVA 설정

controller

controller에서 맵핑 주소를 위 프록시에 설정한 값으로 지정해준다.

Mapping

location ~ ^(/api/v1/calendar) 를 붙여준다.

@GetMapping("/api/v1/calendar/testselect")
public int selectScheduleData(){
return 1;
}

CrossOrigin

@RestController
@CrossOrigin(origins = "http://[설정한 주소].com")
public class CompanyController {
profile
Be {Nice} Be {Kind}

0개의 댓글