我正在尝试将外部HTTP请求添加到Node.js / Express应用程序。添加此请求时,出现错误“ ECONNREFUSED 127.0.0.1:80”。我得到了这个,而不管它是发给Google的Post请求还是简单的Get请求。我在配置并与NPM一起使用的公司代理后面。
对于客户端:
$.ajax({
url: '/postRequest',
contentType: 'application/json',
type: 'POST',
dataType: 'json',
data: settings,
success: function (data) {
console.log(data);
}, error: function () {
console.log(data);
}
});
在服务器端:
const axios = require('axios');
app.post('/postRequest', function (req, res) {
axios.get('https://google.com')
.then(response => {
res.send(response);
console.log('Successful response: ', response);
})
.catch(err => {
console.log('Unsuccessful response: ', err);
});
});
这是完整的错误消息:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] toJSON: [Function] }
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] isAxiosError: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] response: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _currentUrl: 'http:https://google.com/' },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] parser: null },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _redirectable: [Circular],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _ended: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] path: 'https://google.com/',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] method: 'GET',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] timeout: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] socketPath: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] agent: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _onPendingData: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _headerNames: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _headers: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _header: 'GET https://google.com/ HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nUser-Agent: axios/0.19.0\r\nhost: google.com\r\nConnection: close\r\n\r\n',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] connection: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] socket: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _headerSent: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] finished: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _trailer: '',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _hasBody: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _contentLength: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _removedHeader: {},
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] sendDate: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] useChunkedEncodingByDefault: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] shouldKeepAlive: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] chunkedEncoding: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] upgrading: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _last: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] writable: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] outputSize: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] outputCallbacks: [],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] outputEncodings: [],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] output: [],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _maxListeners: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _eventsCount: 6,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _events: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] domain: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] ClientRequest {
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _currentRequest:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _onNativeResponse: [Function],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _requestBodyBuffers: [],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _requestBodyLength: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _redirects: [],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _redirectCount: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] pathname: 'https://google.com/' },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] nativeProtocols: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] host: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] port: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] hostname: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] auth: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] agent: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] headers: [Object],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] maxBodyLength: 10485760,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] maxRedirects: 21,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] { protocol: 'http:',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _options:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _maxListeners: undefined,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _eventsCount: 2,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] error: [Function: handleRequestError] },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] { response: [Function: handleResponse],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _events:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] domain: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] writable: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] corkedRequestsFree: [Object] },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] bufferedRequestCount: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] errorEmitted: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] prefinished: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] pendingcb: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] lastBufferedRequest: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] bufferedRequest: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] writelen: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] writecb: null,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] onwrite: [Function],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] bufferProcessing: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] sync: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] corked: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] writing: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] length: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] defaultEncoding: 'utf8',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] decodeStrings: true,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] finished: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] ended: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] ending: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] needDrain: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] highWaterMark: 16384,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] objectMode: false,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] WritableState {
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] _writableState:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] Writable {
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] request:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] data: undefined },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] validateStatus: [Function: validateStatus],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] maxContentLength: -1,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] xsrfHeaderName: 'X-XSRF-TOKEN',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] xsrfCookieName: 'XSRF-TOKEN',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] adapter: [Function: httpAdapter],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] timeout: 0,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] transformResponse: [ [Function: transformResponse] ],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] transformRequest: [ [Function: transformRequest] ],
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] host: 'google.com' },
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] 'User-Agent': 'axios/0.19.0',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] { Accept: 'application/json, text/plain, */*',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] headers:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] method: 'get',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] { url: 'https://google.com',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] config:
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] port: 80,
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] address: '127.0.0.1',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] syscall: 'connect',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] errno: 'ECONNREFUSED',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] code: 'ECONNREFUSED',
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] at exports._exceptionWithHostPort (util.js:1043:20)
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] at Object.exports._errnoException (util.js:1020:11)
2019-07-15T14:54:41.298-05:00 [APP/PROC/WEB/0] [OUT] Unsuccessful response: { Error: connect ECONNREFUSED 127.0.0.1:80
答案 0 :(得分:0)
“在本地,防火墙也可能会绑定到非本地主机的地址。”
这最终成为问题。这不是本地防火墙问题,而是阻止请求的更复杂的防火墙设置。