인터넷의 급속한 발전과 함께 네트워크 애플리케이션의 중요성이 점점 더 분명해지고 있습니다. 그러나 웹 애플리케이션에서는 원하는 것을 항상 얻을 수는 없으며 직접 액세스를 지원하지 않는 웹 사이트에서 데이터를 가져와야 할 수도 있습니다. 또는 여러 도메인에 액세스하고 싶지만 브라우저의 동일 출처 정책으로 인해 서로 다른 도메인 이름 간에 리소스를 공유할 수 없습니다. 이러한 모든 문제는 프록시를 통해 요청을 보내면 해결될 수 있습니다.
Nodejs는 프록시 요청에 매우 적합한 이벤트 중심 JavaScript 런타임 환경입니다. 이 글에서는 직접 접근을 지원하지 않는 웹사이트나 도메인 간 접근을 지원하기 위해 Nodejs를 사용해 프록시를 생성하는 방법을 설명하겠습니다.
Nodejs는 npm을 사용하여 애플리케이션 종속성을 관리합니다. 다음 명령을 사용하여 필요한 종속성을 설치할 수 있습니다.
npm install express http-proxy-middleware
그 중:
요청을 프록시할 수 있도록 Nodejs 서버를 만듭니다. 프로젝트 폴더에 "server.js"라는 파일을 생성하고 다음 코드를 입력합니다:
const express = require('express'); const { createProxyMiddleware } = require('http-proxy-middleware'); const app = express(); app.use('/', createProxyMiddleware({ target: 'https://example.com', changeOrigin: true })); app.listen(3000, () => { console.log('Server is running on port 3000'); });
이제 프록시 서버가 준비되었지만 프록시 전송 요청이 제대로 작동하려면 서버를 일부 구성해야 합니다. "server.js" 파일에 다음 코드를 추가합니다.
app.use('/', (req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'X-Requested-With'); res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS'); next(); });
이 코드의 목적은 도메인 간 액세스를 허용하는 것입니다. 들어오는 각 요청에 대해 모든 원본( * )이 서버에 액세스할 수 있도록 응답 헤더를 설정하고 지원되는 HTTP 요청 방법을 설정합니다.
이제 프록시 서버의 설정 및 구성이 완료되었으므로 다음 명령을 실행하여 서버를 시작할 수 있습니다.
node server.js
그런 다음 브라우저에서 다음과 같이 프록시 서버에 액세스할 수 있습니다. http:// /localhost:3000 프록시된 웹사이트에 액세스합니다.
요약
Nodejs 프록시를 사용하여 요청을 보내는 것은 비교적 간단한 방법이며 많은 코드가 필요하지 않습니다. 필요한 종속성을 설치하고, 서버를 생성하고, 구성하기만 하면 로컬 환경에서 프록시 요청을 할 수 있습니다. 프록시 요청을 통해 직접 액세스를 지원하지 않는 웹 사이트 데이터를 얻을 수 있을 뿐만 아니라 도메인 전체의 리소스에 액세스할 수 있을 뿐만 아니라 다른 기능을 추가하여 프록시 요청의 효율성을 향상시킬 수 있습니다.
위 내용은 nodejs 프록시가 요청을 보냅니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!