리버스프록시가 궁금해요!
리버스프록시를 사용하면 ddns로 접속할때 뒤에 포트번호를 따로 안붙혀도 접속이 된다 하더라구요
그래서 리버스 프록시를 찾아보니 프록시 서버가 공유기처럼 내부에서 포트포워딩 해주는 것 같은데...
공유기의 포트포워딩과 뭔 차이인지 모르겠어요
예를들어 dsm포트가 5000번이라 하면 자기의 DDNS:5000 이렇게 쳐서 들어가는데
굳이 리버스 프록시를 안써도 공유기에서 외부포트:80에 내부포트:5000으로 포트포워딩 해주면 되는 거 아닌가요?
서비스를 하나만 쓰신다면 문제가 없으실 겁니다.
하지만 만약에 내부포트5001번인 서비스를 80포트로 포트포워딩 하지 못할 것입니다. 따라서 5001->81로 포트포워딩하여 http://IP:81이 될 것입니다.
위와 같이 되면 여러 포트를 열어 보안에 좋지 않고 관리 측면에서나 미관상(?)에도 좋지 않습니다.
nginx proxy manager 또는 일반 nginx로 80포트로 리버스 프록시 설정하시면 80포트 하나만 열어도 충분히 2개 이상의 서비스를 제공하실 수 있을 겁니다.
즉, 1번 서비스는 내부포트 5000번에서 80으로 리버스프록시, 2번 서비스는 5001번에서 80으로 리버스 프록시하시면 80 하나를 여시는 것만으로도 모든 서비스 제공이 가능합니다.
좀 더 구체적으로 가면 ngin의 경우 server_name으로 구분하고 proxy_pass로 리버스 프록시합니다.
즉, 리버스 프록시 할 경우 1번서비스는 server_name이 aaa.com이고 proxy_pass를 http://localhost:5000로 설정, 2번 서비스는 server_name이 bbb.xyz이고 proxy_pass를 http://localhost:5001로 설정했다고 가정하면, 외부 포트를 80번만 열어놔도 크롬/whale 등 웹브라우저 주소창에 aaa.com을 쳤으면 1번서비스로 이동시켜주고 bbb.xyz를 치면 2번 서비스로 이동시켜줍니다.
오호 그렇군요 자세히 알려주셔서 감사합니다!
https://svrforum.com/svr/284432
참고하시면 될듯합니다~
외부 ip와 내부 ip가 달라져서 보안도 소폭 상승합니다.
개인용이면 :0909 포트 번호로 연결해줘도 되지만
외부로 오픈할때는 80 443 ssl포트만 오픈 하는게 기본이니깐요 ㅎㅎ
cmt alert