오늘날 많은 시나리오에서 VPS 호스트를 신청하여 웹 프로젝트를 호스트하고 실행합니다. 나는 예외가 아닙니다. 나는 사용할 작은 승리 03 VP를 구입했다. 사용 프로세스 중에는 문제에 직면 해 있습니다. 즉, 동일한 유형의 서버 환경은 괜찮습니다. 그러나 세 가지 유형의 서버 프로젝트가 하나의 PHP, 하나의 ASP 및 하나의 JSP와 공존하면 어떻게 유일한 포트 80을 할당해야합니까? 상업용 WWW 웹 사이트는 종종 포트 80을 차지할 수 있기 때문에, 물론 인터페이스와 같은 서비스 만 수행하는 경우 다른 포트를 사용하면 포트 80과 충돌하지 않습니다. 많은 개발자가 포트 80의 문제에 직면하고 실제 상황은 비용으로 제한됩니다. 프로젝트만으로 VP를 구매하는 것은 경제적이지 않고 비용 효율적이지 않기 때문에 관리하기 편리하지 않습니다. 따라서 포트 80을 제공하면서 여러 서버에 배포하는 방법을 신중하게 고려해야하며, 다른 호스트가 해당 웹 프로젝트를 실행할 수 있습니다.
친애하는, 우리는이 요구 사항을 실현한다고 말할 수 있습니까? 그렇습니다. 이것은 "매직 기술"또는 복잡한 기술이 아닙니다. 네트워크 서비스에서 "역 프록시"에 대한 이해가 있는지 궁금합니다. 기능 중 하나는 포트 배포를 완료하는 것입니다. 도메인 이름을 배포하는 경로로 사용할 수도 있습니다. BB.com 도메인 이름에서 요청한 모든 것은 실행을 위해 ASP 포트 83에 배포됩니다. ... 그리고 그렇습니다. 물론 여기의 포트는 지침을위한 것입니다. 마음대로 구성 할 수 있습니다. 어쨌든 포트 80에서받은 요청은 먼저 처리 된 다음 배포됩니다. 리버스 프록시는 평신도의 용어로 왼손을 오른손으로 바꾸고 있습니다.
리버스 프록시가 언급 될 때마다 사람들은 일반적으로 Nginx를 생각하지만 오늘날 우리는 당분간 유명한 Nginx를 무시하고 단일 스레드 및 이벤트 루프를 사용하는 서버 측 형제 인 Nodejs를 사용합니다. 우선, Node는 Nginx가 아닌 서버 프로그래밍에 JS를 사용하여 구성 또는 LUA를 작성합니다. 둘째, 노드에 더 익숙하며 모든 측면에서 구성하는 것이 더 쉽습니다.
이 기능을 완료하는 Node-HTTP-Proxy 패키지. 다운로드 및 설치하려면 다음을 입력하십시오.
NPM HTTP-Proxy 설치
설치가 완료되면 새 proxy.js 파일을 작성하고 다음을 입력하십시오.
var http = require ( 'http'), httpproxy = require ( 'http-proxy'); // 새로운 프록시 프록시 서버 객체 var proxy = httpproxy.createproxyserver ({}); // catch property proxy.on ( 'error', err, res) {res) 'content-type': 'text/plain'}); // 각 요청에서 proxy.web (req, res config) 메소드를 호출하여 배포 요청 배포를 요청하고 사용자 정의 서버를 만들고``proxy.web ()`proxy로 호출 // 옵션에 전달 된 대상에 대한 웹 요청 // 또한`proxy.ws ()```var server ( 'http')를 대리하십시오. {// 여기에서 요청을 처리 할 수 있습니다 req.connection.remoteaddress);프록시 서버 사용 비용에 대해 이야기하는 경우 더 많은 리소스를 소비하지 않는 것보다 더 많은 CPU 작업을 소비 할 수 있습니다.
사용법 문제 : 폴더 proxy.web (req, res, {target : 'http://vevb.com:81/foo/'})를 지정할 수 없습니다.