当我尝试代理这个http://localhost:9000/rpc
请求时,我收到以下信息:
cannot proxy to https://example.appspot.com:80
(write EPROTO 101057795:error:140770FC:SSL routines:
SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:)
webpack-dev-server配置:
devServer: {
contentBase: "./",
hostname: 'localhost',
port: 9000,
proxy: {
'/rpc': {
target: 'https://example.appspot.com',
secure: false,
changeOrigin: true // **Update-2 SOLVED**
}
}
}
我使用 fetch : fetch('/rpc' ...
发送请求,并在 Windows 10 专业版上运行 webpack。
没有代理的情况下: fetch('https://example.com/rpc' ...
SSL 请求正常工作。
更新。我不得不使用 SSL 端口 443(请参见 Steffen 的答案)。
现在使用:https://example.appspot.com:443
但仍然无法使用 secure: true
。控制台日志显示:
cannot proxy to https://example.appspot.com:443
(Hostname/IP doesn't match certificate's altnames: "Host: localhost.
is not in the cert's altnames: DNS:*.appspot.com, DNS:*.thinkwithgoogle.com,
DNS:*.withgoogle.com, DNS:*.withyoutube.com, DNS:appspot.com,
DNS:thinkwithgoogle.com, DNS:withgoogle.com, DNS:withyoutube.com")
当使用 secure: false
时,控制台会报告:404(未找到)
更新:使用 changeOrigin: true
解决。文档在这里。
changeOrigin: true
解决方案! - alecdwm