자세한 프록시 웹팩-DEV-서버 사용

도메인 간 개발 환경의 문제를 해결 (nginx를 구성 및 호스트에 가지 마세요, Shuangwai ~)

 

기본 사용법

= mmodule.exports {
   // ... 
  devserver : { 
    프록시 : { 
      ' / API ' : ' 에 http : // localhost를 : 3000 ' 
    } 
  } 
} 

요청 / API / XXX 이제 요청 HTTP에 위임 : // 로컬 호스트 : 3000 / API / XXX, 등 / API / 사용자가 현재 요청에 위임됩니다 HTTP : // localhost를 : 3000 / API / 사용자

 

여러 경로를 연기

= module.exports {
   // ... 
  devserver : { 
    프록시 : [{ 
      컨텍스트 : [ ' 정식 / ' , ' / API ' , 
      목표 : ' HTTP : // localhost를 : 3000 ' , 
    }] 
  } 
}; 

당신이 경우 동일한 대상에 여러 경로 에이전트에 대한 코드를 원하는, 당신은 하나의 이상 "개체 컨텍스트 속성이"로 구성된 배열을 사용할 수 있습니다 :

 

API 접두사를 무시

= module.exports {
   // ... 
  devserver : { 
    프록시 : { 
      ' / API ' : { 
        대상 : ' HTTP : // localhost를 : 3000 ' , 
        pathRewrite : { ' ^ / API ' : '' } 
      } 
    } 
  } 
} ; 
요청 / API / XXX 이제 요청 HTTP에 위임 : // localhost를 : 3000 / XXX, 예를 들어, / API / 사용자가 지금 프록시 요청하는 HTTP를 : // localhost를 : 3000 / 사용자

 

HTTPS 안전 수칙을 무시

= module.exports {
   // ... 
  devserver : { 
    프록시 : { 
      ' / API ' : { 
        대상 : ' https://other-server.example.com ' , 
        안전 : false로 
      } 
    } 
  } 
}; 

기본, 우리는 HTTPS에서 실행되도록 동의 및 백 엔드 서버 인증서가 유효하지 않은 사용하지 않습니다. : 당신은 한 보안 설정으로 수락 할 경우 거짓 라인에. 구성이 다음과 같은 수정 :

 

사용자 정의 규칙

module.exports = {
  // ... 
  devServer { 
    프록시 { 
      ' / API ' { 
        대상 : " HTTP : // 로컬 호스트 3000 ' , 
        바이 : 함수 (REQ, 입술, proxyOptions) { 
          경우 (req.headers .accept.indexOf ( ' HTML ' ) ==! - 1 ) { 
            (CONSOLE.LOG ' 브라우저 요청에 대한 프록시를 건너 뜁니다. ' );
            반환  ' /index.html이 ' ; 
          } 
        } 
      } 
    } 
  }   
};
때때로 당신은 프록시 모든 요청을하고 싶지 않아. 반환 값은 수동의 프록시 기능에 기초 할 수있다. 
이 함수에서는 요청 본문, 응답 본문 및 프록시 옵션에 액세스 할 수 있습니다. 반환해야합니다 거짓 프록시 요청을 무시하거나 경로를. 

예를 들어 브라우저 요청에 대해 당신은 HTML 페이지를 제공하고자하지만, API 요청을 프록시 남아있다. 이 작업을 수행 할 수 있습니다 :

 

 

도메인 간

= module.exports {
   // ... 
  devserver : { 
    프록시 : { 
      ' / API ' : { 
        대상 : ' HTTP : // localhost를 : 3000 ' , 
        changeOrigin : true로 , 
      } 
    } 
  } 
} 
위의 A 매개 변수 목록 매개 변수를 changeOrigin 것은 참으로 설정 부울 값입니다하는 local'll 가상 서버가 요청을 수신하고 대신하여 요청을 보내,

 

복수의 규칙 : VUE-CLI 인터페이스가 배치되어 proxyTable

 

= module.exports { 
  디바이스가 { 
  // 정적 자원 폴더 
  assetsSubDirectory : ' 고정 ' ,
   // 전달 경로 
  assetsPublicPath : ' / ' , 
 
  // 프록시 구성 테이블 에이전트는 특정 요청하도록 구성 될 수있는 API 인터페이스에 대응
   / / 사용법 : https://vuejs-templates.github.io/webpack/proxy.html 
  proxyTable : {
     // 예를 들어 '로컬 호스트 : 8080 / API / XXX ' 에이전트 ' https://wangyaxing.cn/api/ XXX ' 
    ' / API ' : { 
      대상 : ' https://wangyaxing.cn ' , // 도메인 인터페이스
      보안 : false로 , // HTTPS 인터페이스이 매개 변수를 구성해야하는 경우 
      changeOrigin를 : true로 , // 인터페이스 크로스 도메인이이 매개 변수를 구성 할 필요가있는 경우 
    }
     // 예는 '로컬 호스트 : 8080 / IMG / XXX ' 에이전트 ' HTTPS : //cdn.wangyaxing.cn/xxx ' 
    ' / IMG ' : { 
      대상 : ' https://cdn.wangyaxing.cn ' , // 도메인 인터페이스 
      안전 : 거짓에 , // HTTPS 인터페이스를 구성해야하는 경우 매개 변수 
      changeOrigin는 : true로 , // 인터페이스 도메인 간 경우, 매개 변수가 필요합니다 
      pathRewrite를 : { ' ^ / IMG' : ' ' } // pathRewrite来重写地址,将前缀'/ API '转为'/ '. 
    } 
  } 
  // 다양한 데브 서버 설정 
  호스트 : ' 로컬 호스트 ' , // process.env에 의해 덮어 쓸 수 있습니다. 호스트 
  포트 : 4200은 , // process.env.PORT 덮어 쓰기 가능 포트가 사용중인 경우, 무료로 하나가 결정됩니다 
}

 

 

 

더 많은 매개 변수 :

dev에 서버가 매우 강력한 HTTP 프록시-미들웨어의 HTTP를 사용하여 프록시 미들웨어 HTTP 프록시 기반의 구현, 소스 코드를 볼 수 있습니다 HTTP 프록시 문서 : HTTPS : // github.com/nodejitsu/node-http- 프록시. 

대상 : 모듈을 구문 분석하는 URL 문자열을 URL로 
전달 : 모듈을 사용하려면이 URL 문자열의 URL 구문 분석 
에이전트 : HTTP (S) .request 오브젝트 (객체 노드 HTTPS 및 HTTP 프록시 에이전트를 참조)에 전달할 
SSL 님 https.createServer () 객체에 전달 
WS : true로 / 거짓 에이전트가 WebSocket을 여부, 
xfwd : true로 / 거짓 X- 추가, 앞으로 헤더 
: 보안  / 거짓 , 검증 인증서 표시 SSL 
toProxy : true로 / 거짓 절대 URL로 전달, 경로 (유용한 프록시 에이전트) 
PrependPath : true로 /거짓 , 기본값 : true로 - 경로는 프록시 대상 경로에 추가할지 여부를 지정합니다 
: ignorePath  / 거짓 , 기본값 : 거짓 - : 원하는 경우, 당신은 추가해야합니다 / 수신 요청 (주 프록시 경로를 무시할지 여부를 지정 설명서 ). 
보이나 인근는 : 나가는 로컬 인터페이스 바인딩에 대한 문자열을 연결하려면 
changeOrigin : true로 / 거짓 , 기본값 : 거짓 - 목표 URL에 대한 원본 호스트 헤더를 변경됩니다

 

VUE 요소-관리 분석 코드

환경 변수 : VUE_APP_BASE_API은 = ' / dev에-API ' 
요청 전송 : 127.0 . 0.1 / DEV-API / 로그인 


프록시 : { 
      // 변경-API DEV / 로그인 => / 로그인
       // 세부 사항 : HTTPS : //cli.vuejs .ORG / 설정 / devserver -proxy # 
      {: [process.env.VUE_APP_BASE_API] 
        대상 :`HTTPS : // my.baidu.com`, 
        안전 : true로 , 
        changeOrigin : false로 , 
        pathRewrite : { 
          [ ' ^ ' + 프로세스. env.VUE_APP_BASE_API] : '' 
        }  
      }
 }

 

추천

출처www.cnblogs.com/liuguiqian/p/11362211.html