你好,
我正在使用 axios 来获取 Api http://xxxxxxxxxxxxxxxxxx.com/actuator/health之一的响应,我成功地能够从我的 React 客户端代码中获取其值,但是当我在服务器上为此设置快速端点时侧并从浏览器调用下面的端点
app.get('/health', function (req, res) {
var url = serviceUrl + '/actuator/health';
axios.get(url)
.then((response) => {
const data = response.data;
console.log(data);
res.json(data);
})
.catch((err) => {
console.log(err);
})
});
然后我收到以下错误
错误:请求失败,状态代码 503
statusText:“DNS 失败”,主机:“proxy-gcp-central.xxxx.com”,responseUrl:“ http://proxy-gcp-central.xxxx.com/http://xxxxxxxxxxxxxxxxxx.com/actuator/health ” , _currentUrl: ' http://proxy-gcp-central.xxxx.com/http://xxxxxxxxxxxxxxxxxx.com/actuator/health '
其中 http://proxy-gcp-central.xxxx.com/ 附加在实际 url => 前面,因此失败
我在云环境中遇到此问题,我可以通过在上面的 axios.get 函数中提供代理信息和 url 来解决本地问题(如在本地我使用代理服务器访问此 URL),但在云上我们可以直接访问它,而无需使用代理服务器,因此对于云,我们无法在此代码中设置此代理信息。
我已经尝试过许多其他节点模块,如 http、request、request-promise,但仍然遇到同样的问题。
我还尝试Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers
在 headers 和 app.use 中进行设置,但都没有解决我的问题。
- axios版本:例如:v0.17.1
- 环境:例如:node v8.11.3、npm v6.2.0、chrome 68.0.3440.106(官方版本)(64位)、windows 7