//promise 생성 시 resolve, reject 콜백함수를 인자로 넘김.
//작업 성공 시 resolve를, 실패 시 reject를 호출하면 됨.
let func1 = new Promise((resolve,reject)=>{
ajax1
ajax1 성공 시 resolve(); 호출하고 code1
});
//promise 결과를 사용하기.
//promise.then은 콜백이 resolve()인 경우에,
//promise.catch는 reject()인 경우에 실행하게된다.
func1.then({
code2
ajax2
ajax2 성공 시 code3
}).catch({})
아래는 사용한 코드 예시임.
let func1 = new Promise((resolve,reject)=>{ //new Promise() 메서드로 생성되면 대기(pending) 상태
$.ajax({
url: "/api/test/get1",
type: "get",
async : false, //동기처리방식. 응답 완료 후 다음 로직 실행
data: $('#data').val(),
success: function (param) {
let data = param.data;
console.log("code1");
resolve(data); //성공 시 resolve 콜백으로 리턴 값을 보내면 이행(fulfilled)상태
},
error : function(){
reject(); //이행실패시 reject 콜백.
}
});
});
func1.then(function(data){ //promise.then : promise의 resolve 를 받는다.
console.log("code2");
$.ajax({
url: "/api/test/get2",
type: "get",
async : false,
success: function (param) {
console.log("code3");
}
});
}).catch({console.log("실패"!)}); //catch : promise의 reject 를 받는다.
proxy_pass 기본 설정. 들어온 요청을 어디로 포워드 해줄건지 설정함. 현재 서버에 / 로 시작하는 path로 접근하면, http://123.456.78.90:8080 으로 접근하게 됨.
proxy_set_header 프록시 서버에 특정 헤더를 전달하기 위한 설정
X-Forwarded-For HTTP 프록시를 통해 웹 서버에 접속하는 클라이언트의 IP 주소를 식별하는 표준 헤더 클라이언트와 서버 중간에서 트래픽이 프록시나 로드 밸런서를 거치면, 서버 접근 로그에는 프록시나 로드 밸런서의 IP 주소만을 담고 있다. 클라이언트의 원 IP 주소를 보기위해 X-Forwarded-For 요청 헤더가 사용된다. Apache는 ProxyPass를 사용할 경우 기본으로 X-Forwarded-For 헤더를 구성하지만 nginx는 직접 구성해줘야 한다.
$proxy_add_x_forwarded_for $http_x_forwarded_for,$remote_addr 와 동일함 클라이언트의 IP 주소를 담고있는 $remote_addr 를 X-Forwarded-For Header의 값으로 추가해 줌
HOST $http_host; HTTP Request 의 Host 헤더값 http 요청이 들어 왔을 시 호스트 명