2017-01-08 4 views
0

내 홈 네트워크가 커짐에 따라 바깥 세상에서 더 많은 액세스 권한을 얻고 싶습니다. 라우터에서 포트 포워딩을 넘어서 성장해야합니다. 나는 포트 80과 443 (주로)을 사용하는 여러 시스템 (대부분 가상화 됨)을 보유하고 있으며 이러한 포트를 여러 IP 주소로 전달할 수 없습니다. 이것은 역방향 프록시를 사용할 계획입니다.DDNS를 사용하는 역방향 프록시

Apache2를 실행하는 Ubuntu 12.04 LTS 시스템에서 테스트하고 있습니다.

[email protected]:/etc/apache2# cat sites-available/reverseprox 
<VirtualHost *:80> 
     LoadModule proxy_module modules/mod_proxy.so 
     LoadModule proxy_http_module modules/mod_proxy_http.so 
     ServerName ws.myDomain.asuscomm.com 
     ServerAlias ws 
     ProxyRequests Off 
     ProxyPass/http://192.168.1.64:80/ 
     ProxyPassReverse/http://192.168.1.64:80/ 
</VirtualHost> 

여기에서 자습서 다음 : 나는/등/아파치 /에 reverseprox라는 파일을 생성 한 사이트를 이용 가능한 다음과 같이 http://www.linuxjournal.com/content/protect-your-ports-reverse-proxy?page=0,1

내 웹 서버가 내 로컬에 192.168.1.64에를 회로망. 나는 Asus 라우터를 가지고 있고 Asus DDNS 서비스 설정을 myDomain.asuscomm.com으로 사용하고 있습니다. 또한 아파치가 필요한 모듈을 찾는데 필요한 모든 sym-links를 설정했고 apache2 서비스를 다시 시작할 때 오류가 발생하지 않습니다 (000- 기본 파일의 루프백 주소에 대한 불만 제외). 내 라우터의 포트 80을 192.168.1.62에있는 아파치를 실행하는 시스템에 전달했으며 "It Works!"라는 공백을 볼 수 있습니다. 웹 페이지에서 myDomain.asuscomm.com:80이 192.168.1.62로 바뀌고 있지만 VirtualHost가 ws.myDomain.asuscomm.com을 입력하면 아무 것도하지 않는 것 같습니다.

내가 누락 된 항목이 있습니까? Asus DDNS 서비스를 사용하고 있으며 myDomain.asuscomm.com이 유효한 도메인 이름이 아닙니까? 필요한 경우 도메인 이름을 등록해도 문제가 없습니다. 이것을 nas.myDomain.asuscomm.com, vSphere.myDomain.asuscomm.com 등과 같은 다른 시스템으로 확장 할 계획입니다.

도와 주셔서 감사합니다!

답변

2

나는 이것을 알아 냈다. DDNS 이름을 직접 사용할 수 없었습니다. 해결책은 $$$를 지불하고 도메인 이름을 등록하는 것이 었습니다. 나는 NameCheap.com을 사용했고 프리미엄 DNS 서비스와 개인 정보 보호를 $ 15/year에 등록했습니다.

그런 다음 원하는 URL의 CNAME 레코드를 만들고 대상을 내 DDNS URL로 설정했습니다. DNS 서버가 새로운 CNAME 레코드로 업데이트되면 (약 15 분 소요), 빙고! 리버스 프록시가 작동합니다! 예 : myDomain.com. 고급 DNS 옵션에있는 내 NameCheap 계정 설정 (GoDaddy와 같은 다른 도메인 등록 서비스와 동일한 개념이어야 함)에서 Hostws.myDomain.com으로 설정하고 TargetmyDomain.asuscomm.com으로 설정하여 CNAME 레코드를 정의했습니다.

이제 ws.myDomain.com이 DNS에 정의되고 내 Asus DDNS 주소로 해석됩니다. 거기서 192.168.1.62에 내 프록시 서버로 전달되고 VirtualHost 정의를 통해 192.168.1.64:80으로 연결됩니다. 다른 호스트에 대한 추가 CNAME 레코드 정의를 사용하면 프록시 서버에서 다른 VirtualHost를 정의하여 다른 시스템 및 리소스에 액세스 할 수 있습니다. 산뜻한!

건배!