nodejs 프록시가 요청을 보냅니다

WBOY
풀어 주다: 2023-05-18 10:39:07
원래의
1135명이 탐색했습니다.

인터넷의 급속한 발전과 함께 네트워크 애플리케이션의 중요성이 점점 더 분명해지고 있습니다. 그러나 웹 애플리케이션에서는 원하는 것을 항상 얻을 수는 없으며 직접 액세스를 지원하지 않는 웹 사이트에서 데이터를 가져와야 할 수도 있습니다. 또는 여러 도메인에 액세스하고 싶지만 브라우저의 동일 출처 정책으로 인해 서로 다른 도메인 이름 간에 리소스를 공유할 수 없습니다. 이러한 모든 문제는 프록시를 통해 요청을 보내면 해결될 수 있습니다.

Nodejs는 프록시 요청에 매우 적합한 이벤트 중심 JavaScript 런타임 환경입니다. 이 글에서는 직접 접근을 지원하지 않는 웹사이트나 도메인 간 접근을 지원하기 위해 Nodejs를 사용해 프록시를 생성하는 방법을 설명하겠습니다.

  1. 종속성 설치

Nodejs는 npm을 사용하여 애플리케이션 종속성을 관리합니다. 다음 명령을 사용하여 필요한 종속성을 설치할 수 있습니다.

npm install express http-proxy-middleware
로그인 후 복사

그 중:

  • express는 편리한 라우팅 및 미들웨어를 제공하는 인기 있는 Nodejs 웹 프레임워크입니다. 지원
  • http-proxy-middleware는 요청을 다른 서버로 프록시하는 데 사용되는 미들웨어입니다.
  1. 서버 만들기

요청을 프록시할 수 있도록 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');
});
로그인 후 복사
  • express 및 http-proxy-middleware 모듈 소개
  • express 애플리케이션 생성
  • http-proxy-middleware 미들웨어를 사용하여 프록시 요청, 프록시할 웹사이트로 대상을 설정하세요
  • changeOrigin 옵션을 사용하여 HTTP 요청 헤더가 올바르게 설정되도록 원본을 변경하세요
  • 포트 3000에서 수신 대기하는 애플리케이션을 시작하세요.
  1. 서버 구성

이제 프록시 서버가 준비되었지만 프록시 전송 요청이 제대로 작동하려면 서버를 일부 구성해야 합니다. "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 요청 방법을 설정합니다.

  1. 서버 실행

이제 프록시 서버의 설정 및 구성이 완료되었으므로 다음 명령을 실행하여 서버를 시작할 수 있습니다.

node server.js
로그인 후 복사

그런 다음 브라우저에서 다음과 같이 프록시 서버에 액세스할 수 있습니다. http:// /localhost:3000 프록시된 웹사이트에 액세스합니다.

요약

Nodejs 프록시를 사용하여 요청을 보내는 것은 비교적 간단한 방법이며 많은 코드가 필요하지 않습니다. 필요한 종속성을 설치하고, 서버를 생성하고, 구성하기만 하면 로컬 환경에서 프록시 요청을 할 수 있습니다. 프록시 요청을 통해 직접 액세스를 지원하지 않는 웹 사이트 데이터를 얻을 수 있을 뿐만 아니라 도메인 전체의 리소스에 액세스할 수 있을 뿐만 아니라 다른 기능을 추가하여 프록시 요청의 효율성을 향상시킬 수 있습니다.

위 내용은 nodejs 프록시가 요청을 보냅니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!