포트포워딩 설정에 관하여 질문이 있습니다.
아래와 같은 상황에서, 웹서버 접속시
xxx.xxx.xxx.xxx:8181 또는 www.xxx.com:8181이 아닌
xxx.xxx.xxx.xxx 또는 www.xxx.com로 접속을 가능하게 하고 싶습니다.
현재 상황
> 통신사 : LG유플러스.
> 공유기 : 80포트 막혀있음.
> 공유기 포트 포워딩 : 외부 8181 접속시 -> 내부 80포트로 연결
> 내부 리눅스 웹서버 : 80포트로 웹서버 구축해놓음.
> 접속경로 : 외부에서 xxx.xxx.xxx.xxx:8181 또는 www.xxx.com:8181로 접속시,
공유기에서 8181을 80포트로 연결해주도록 하여, 접속이 문제 없이 가능.
제가 조사한 바로는, 호스팅을 구매한 서버에서 DNS설정을 통해
xxx.xxx.xxx.xxx 또는 www.xxx.com로 접속시
xxx.xxx.xxx.xxx:8181 또는 www.xxx.com:8181로 연결해 주는 것이 가능하다 들었습니다.
하지만, 저는 자체적으로 해결가능한 방안을 찾고 있습니다.
혹시 해결방안을 알고 계시다면, 조언 부탁드립니다.
* httpd.conf파일에 아래와 같이 virtualhost 설정을 추가해보았지만, httpd서버 기동이 실패하였습니다
ServerName www.xxx.com ProRequests Off ProxyPreserveHost On ProxyPass / http://localhost:80/ ProxyPassReverse / http://localhost:80/
방법은 두가지가 있겠군요
방법은 두가지가 있겠군요
1. 해당 서버에서 ssh 실행해서 8181 을 80 번으로 포트포워딩
2. 8181 포트로 proxy 서버 구성
------------------------------------------------------------
ProgrammingHolic
2. 8181 포트로 proxy 서버 구성
2.의 내용이 잘 이해가 가지 않습니다.
기존의 리눅스 서버에 프록시 서버를 구축하여 외부의 8181포트를 내부 리눅스서버의 80포트으로
돌린다는 말씀이신가요?
공유기의 포트포워딩과 프록시 서버의 포트포워딩과 어떤 차이가 있죠?
정리하자면...
공유기의 포트포워딩과 내부 포트 포워딩은 당연히 어디에서 처리하느냐에 차이일뿐 차이가 없습니다.
프록시는 외부에서 요청이 들어오면 중계해줘야 하니 당연히 프록시 서버가 추가로 뜨게 되는거죠
------------------------------------------------------------
ProgrammingHolic
프록시 서버와 공유기의 관계에 대해서.
공유기에서 80번포트가 막혀있을때
중계기 역할을 하는 프록시 서버가 80번포트를 잡아주게 설정해야한다는 말씀인가요?
80번 포트로는 공유기를 거쳐서 리눅스 서버로 도달하지 못하는데
어떻게 이게 가능하죠?
질문이 계속 돌고 도네요
정균님의 답변처럼 외부에서 어떻게 하지 않는 이상 80번으로 들어온걸 8181로 보내줄수는 없습니다.
외부에서 그냥 www.xxx.xxx 로 들어와도 8181 로 들어오게 하는건 내부 영역이 아니라 외부 영역입니다.
고로 외부에서 어떻게 하지 않는 이상 8181 포트를 써줘야 합니다.
------------------------------------------------------------
ProgrammingHolic
답변 감사합니다.
친절한 답변 감사합니다. ^^
www.domain.com:8181 (외부) ->
www.domain.com:8181 (외부) -> 공유기 (8181 -> 80 forwarding) -> 내부 서버(80)
이렇게 접근이 되는데, 외부에서 www.domain.com:8181 로 접속하는 걸 port 번호를 빼고 하고 싶다는 건가요?
이건 내부에서 처리가 불가능 합니다. 외부에서 조치를 취해 주어야 합니다.
CDN cache 서비스를 한다고 생각하면 됩니다. 단 이렇게 하려면 domain 변경이 필요하고, 사이트가 domain free 하게 동작할 수 있어야 한다는 조건이 필요 합니다. domain free 라는 건, 해당 서버이 www.domain.com 라고 가정할 경우, a.domain.com 을 할당하고, a.domain.com 으로도 정상 동작이 가능해야 한다는 얘기임니다.
1. 외부에 proxy server 생성 및 www.domain.com 을 proxy server 로 변경
2. 공유기 대표 IP 에 새로운 도메인 할당 (origin.domain.com)
3. proxy 서버에서 www.domain.com 으로 들어오는 연결을 origin.domain.com:8181 로 reverse proxy 설정
reverse proxy 설정은 apache, ngninx, haproxy, vanish 등을 이용하시면 됩니다. 성능을 고려 한다면 haproxy나 vanish 를 권장하며, 그냥 간단히 구현만 한다면 nginx 나 haproxy 중 쉬운걸로 하시면 됩니다. 설정 방법은 그냥 "nginx reverse proxy" 와 같이 검색 하시면 됩니다.
외부에 proxy 서버를 두지 않고서는 불가능 합니다.
위의 방법도 외부에서 proxy 설정을 해 주는 방법으로 서비스를 해 줄 겁니다. DNS 설정만으로는 불가능 합니다. DNS protocol 자체에 port 를 처리할 수 있는 영역이 없기 때문임니다.
저도 그렇게 생각은 했습니다만, 역시...
답변감사합니다.
참고해보세요. ㅇ_ㅇ;;
포트포워딩 - 일부 포트 허용 - 구형 공유기의 경우. 오래 사용시. 느려지는 현상
DMZ 모든 포트 허용 - 구형 공유기의 경우. 오래 사용시. 느려지는 현상
IIS Apache - redirection
ASP JSP PHP script - redirection
UPnP 지원 공유기
윈도우 ICS 인터넷 공유
PHP / 다른 페이지로 리디렉션(Redirection)하는 방법 – CODING FACTORY
http://www.codingfactory.net/11720
IIS에서 URL Rewrite를 사용해서 HTTP요청을 HTTPS로 리다이렉트하기
http://offbyone.tistory.com/334
Apache(아파치)를 사용해 redirect(리다이렉트) 하는 방법 7가지 : 네이버 블로그
http://blog.naver.com/PostView.nhn?blogId=nforce7050&logNo=140094893152&viewDate=¤tPage=1&listtype=0
포트포워딩 검색결과, 책 검색 : 네이버 책
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=%ED%8F%AC%ED%8A%B8%ED%8F%AC%EC%9B%8C%EB%94%A9
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
오랜만에 오셨군요..
오랜만에 오셨군요..
그런데 또 의미 없는 댓글은 여전 하네요
댓글 달기