[Jquery] 외부에서 서버로 요청하기(?)

저번 글에 이어서, Frontend에서 backend로 요청하다가 생각난 부분인데, 이걸 따로 어떻게 이름을 지어야 할 지 몰라서, 대충 지어뒀다.

설명을 하자면, frontend에서 하드코딩으로 backend에다 요청을 한다면, 그 주소밖에 사용을 할 수 없을 것이다.

그것이 프로덕션에서 고정적으로 사용하는 도메인이 있다면, 그냥 하드코딩을 해도 좋지만, 내 경우는 도커에서 돌아가기에, 그 도커 웹서버의 IP가 달라 질 수 있으며, 도메인을 연결한다면? 골치가 아파지는것이다.

또한, 내 경우는 jquery Ajax로 url을 하드코딩 하였다가, 로컬 개발환경에선 멀쩡이 동작하지만 다른 호스트에서 접속을 진행하게 되면 localhost로 접속을 하니 당연히(!) 외부 클라이언트에서는 서버가 돌아가지 않으니 접속이 안된다. (초보적인 실수다!)

그래서 바로 전 글과 같이 nginx Reverse Proxy를 사용하여, 같은 호스트에서 따로 처리를 할 수있게 되었다.

원래는

backend:7000/api

였지만, reverse proxy를 사용하여

webserver/api

로 보낼 수 있게 되었다.

그러므로, 밖에서 볼때는 backend와 frontend가 같은 서버에서 동작하는 것 처럼 보이기에,

jquery로 Ajax를 사용할 때, webserver와 같은곳으로 Request를 보내면 되는 것이다.


윗부분이 이해가 잘 되지 않는다면, 이렇게 보자

ajax url -> http://backend:7000/api

로 되어있던 부분이 proxymanger를 통해서, frontend와 같은서버 처럼 보이니,

ajax url -> http://frontend/api 로 바꿀 수 있다.

그래서, 어떻게 하냐?

let address = $(location).attr('host');


$.ajax({
    url: `http://${address}/api/login`

이런식으로, address 변수에 값을 host로 넣고,
같은 곳으로 requst를 보내면 되기에, address뒤에 api/login으로 보낼 수 있는것이다.

정신없이 쓴 글이라 나도 잘 이해가 안된다 ㅋㅋㅋㅋㅋ

Read more

[VoIP] Cisco 8861 SIP Connect

Cisco 8861를 최근에 구매하여, VoIP를 운영하고 있는 서버에 접속시키려고 하였다. Enterprise firmware가 올라가 있는 상황에서는 Custom SIP서버에 접속 할 수 없는 것을 확인 하였다. Cisco의 CUCM 서버에만 접속이 가능한게 Enterprise 펌웨어이고, 3PCC(MPP)펌웨어는 Third Party 서버에 접속 할 수 있는 기능이 있다. 최신버전 또는 미리 설치되어있는 firmware에서는 SIP 서버를

By dobob

[VOIP] Korea-WAN-VoIP

일본인 친구들과 이야기 하다보니, VoIP로 WAN을 만들 수 있지 않을까 싶어서 프로젝트를 시작 해봤다. VoIP를 VPN을 묶어서 WAN으로 만들 수 있지 않을까? 생각 해보니, 이미 일본측에서는 해당 프로젝트를 진행하고 있었다. 한국쪽에서도 해당 프로젝트를 진행해보기 위해서, 디스코드 서버를 생성하였다. Korea-WAN-VoIP 먼저, 용어 정리를 해보고 시작하자. PBX : Private Branch Exchange 의 약자로,

By dobob