-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Axios proxy is not working. #2072
Comments
I can confirm. Full post on https://stackoverflow.com/questions/55981040/axios-https-request-over-a-proxy I tried the proxy param, which is apparently not supported in browser, but at least I tried : const axios = require('axios');
var res = await axios.get('https://api.ipify.org?format=json', {
proxy: {
host: 'proxy-url',
port: 80,
auth: {username: 'my-user', password: 'my-password'}
}
});
console.log(res.data); // gives my ip and not the proxy's one And also with the httpsAgent param : const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent')
var agent = new HttpsProxyAgent('http://my-user:my-pass@proxy-url:port');
var res = await axios.get('https://api.ipify.org?format=json', {
httpsAgent: agent,
});
console.log(res.data); // gives my ip and not the proxy's one None of them work. |
+1 |
+1 |
+1 not working in version .19 |
i did 3 things that got it working.
first 2 didn't help without the last one. |
Thank you for that ! Next time i'll work on proxies i'll take a look. I have been struggling for an entire day trying to make this work, that was in april, but I finally switched to another library. |
Axios default.proxy settings don't work on Chrome. |
Axios (v.19) is not working with our corporate proxy for https requests. We use a squid proxy and it returns a protocol error in our case. You can reproduce the error in node (with a public squid proxy) using latest Axios and an Axios version using 'https-proxy-agent': run: create file 'index.js' with content: const axiosDefaultConfig = {
baseURL: 'https://jsonplaceholder.typicode.com/posts',
proxy: {
host: '142.93.165.82',
port: 8080,
protocol: 'http'
}
};
const axios = require ('axios').create(axiosDefaultConfig);
axios.get('42')
.then(function (response) {
console.log('Response with axios was ok: ' + response.status);
})
.catch(function (error) {
console.log(error);
});
const axiosFixed = require ('axios-https-proxy-fix').create(axiosDefaultConfig);
axiosFixed.get('42')
.then(function (response) {
console.log('Response with axios-https-proxy-fix was ok: ' + response.status);
})
.catch(function (error) {
console.log(error);
}); run Then you can see in console log that Axios fails with a protocol error while the modified Axios version using https-proxy-agent succeeds. |
I was able to make requests to some servers but not all. Seems like it depends on the servers cipher suites. For all servers with just cipher suites beginning with Following the axios' code we need to make sure that this const HttpsProxyAgent = require('https-proxy-agent');
const const axiosDefaultConfig = {
baseURL: 'https://jsonplaceholder.typicode.com/posts',
proxy: false,
httpsAgent: new HttpsProxyAgent('http://142.93.165.82:8080')
};
const axios = require ('axios').create(axiosDefaultConfig);
axios.get('42')
.then(function (response) {
console.log('Response with axios was ok: ' + response.status);
})
.catch(function (error) {
console.log(error);
}); tldr: setup |
+1 |
none of these shite solutions work! |
@kraiz Tks ! Your solution works for me. |
|
Hi Is there any known solution to this yet.. I have tried a bunch of stuff but they are not working |
@nsharma1989 Use node-tunnel to create an agent that will tunnel through all the proxies. Add the agent as a property to the request object configuration. Post an example of the request you are trying to make. |
Hi @adam-s , Thank you for the prompt response I did tried that too however no success. could you help me pointing to a code snippet may be? Thank you |
My proxy is over http while the call to github is over https so I use the appropriate method. I read that with tunnel setting the port which is 443 over https might be required, however, it worked without setting it in my case. |
@adam-s tried the same but my https request still gives t::ERR_CERT_AUTHORITY_INVALID |
@nsharma1989 Sounds frustrating. I can't help beyond my own success using node-tunnel with axios. I don't know if a server can force using a signed certificate or not. I was reading about self-signed certificates which need to be shared between the client and server. I assume you placed rejectUnauthorized: false on the agent configuration
Sorry I can't be more help. |
I have proxy in my package.json and I call my endpoint using axios.get ('/get/GetAllJobs') |
Let me make some conclusions,
|
Describe the bug
I have installed anyProxy 3rd party proxy ( http://anyproxy.io/en/#install )
When I type
anyproxy
in my command line then my proxy starts on http://localhost:8001and I have also preview of proxy status on http://localhost:8002.
On the Frontend site, I'm using axios like:
Here is a simplified version of this:
https://codesandbox.io/s/j35zl05lk5
But the request is omitting proxy and is sent directly:
It behaves like the axios proxying functionality would not be even working.
I also tried stuff like:
But it gives me the same result as the previous one.
Also tried npm dependency called "axios-https-proxy-fix", but with the same result.
Expected behavior
Proxying request to the proxy server.
Environment:
The text was updated successfully, but these errors were encountered: