2014-09-23 2 views
1

이 연결 프록시를 만들려고합니다. article. 거의 모든 것이 내 코드에서 동일하지만 https 프로토콜에서 무언가를 호출해야합니다.그란트 연결 프록시 다시 쓰기는 https에서 작동하지 않습니다.

connect: { 
    options: { 
    port: 9000, 
     hostname: '0.0.0.0', 
     livereload: 35729 
    }, 
    proxies: [{ 
    context: ['/foo/product', '/foo/somethingelse'], 
    host: 'non-https-domain.com', 
    changeOrigin: true 
    rewrite: { 
     '^/foo': '' 
    } 
    },{ 
    context: '/productImages', 
    host: 'https-domain.com', 
    https: true, 
    port: 443, // just trying 
    changeOrigin: true, 
    rewrite: { 
     '^/productImages': '' 
    } 
    }], 
    livereload: { 
    // the same like the article 
    } 
} 
/product

/somethingelse 잘 작동하지만 /productImages 없습니다.

나는 다음과 같이 호출해야합니다

localhost:9000/productImages/lot/of/directory/and/finally/a/file.jpg 

과는

https://https-domain.com/lot/of/directory/and/finally/a/file.jpg 

점이 /productImages하지 않고 있다는 것입니다 호출해야합니다. 그러나 교체는 결코 일어나지 않았다.

미리 도움을 청하십시오!

+1

오류 있습니까? 자체 서명 된 SSL 인증서를 사용하고 있습니까? – mike

+0

오류가 없으며 간단한 URL 만 잘못 호출합니다. 자체 서명 된 인증서를 사용하지 않습니다. – kree

+0

저는 100 % 긍정적이지는 않지만 localhost에서 https를 사용하려고 할 때 자신이 서명 한 인증서가 필요하다고 생각합니다 ... 실패한 부분은 어디입니까? – mike

답변

2

나는 어리석은 실수를 저질 렀습니다. 이름에만 오류가 있습니다!

제품 목록에는 /product 프록시 컨텍스트가 있고 이미지에는 /productImages이 있습니다. 정규식을 사용하여이 이름을 설정합니다. 그리고 "^/product"/productImages을 대체합니다. (재 기입 테스트에만 foo 넣습니다)