#### Is your feature request related to a problem? Please describe.
Axios 0.21.1 does not cope with requests through proxy to secured URLs - HTTP code 501 is received.
I'm behind corporate network. When I try to launch the following code, the error 501 is received:
```
const axios = require("axios");

axios.get('https://jsonplaceholder.typicode.com/todos/12', {
    proxy: {
        protocol: 'http',
        host: 'corporate.proxy',
        port: 9000
    },
})
    .then(response => response.data)
    .then(data => console.log(data))
    .catch((error) => {
        const errorMessage = error.message;
        const responseData = error.response && error.response.data;
        console.log('error')
        console.log(`${errorMessage}${
            responseData
            && typeof responseData === 'object'
                ? `: ${JSON.stringify(responseData)}`
                : ''}`)
    });
```

Requests made to unsecured URLs - http protocol - with or without proxy settings succeed.

#### Describe the solution you'd like
Fix or implement please a possibility to perform requests to secured URLs - https protocol - through proxy.

#### Describe alternatives you've considered
Instead of using "axios" module, the module "axios-https-proxy-fix" solves the issue. However, it's some old fix. And most probably does not update to new features that original Axios may bring. Definitely I would like to stick to primary.

#### Additional context
No solution is found around the original source.

lib/adapters/http.js
var proxy = config.proxy;
    if (!proxy && proxy !== false) {
      var proxyEnv = protocol.slice(0, -1) + '_proxy';
      var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];
      if (proxyUrl) {
        var parsedProxyUrl = url.parse(proxyUrl);
        var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;
        var shouldProxy = true;
        if (noProxyEnv) {
          var noProxy = noProxyEnv.split(',').map(function trim(s) {
            return s.trim();
          });
          shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {
            if (!proxyElement) {
              return false;
            }
            if (proxyElement === '*') {
              return true;
            }
            if (proxyElement[0] === '.' &&
                parsed.hostname.slice(parsed.hostname.length - proxyElement.length) === proxyElement) {
              return true;
            }
            return parsed.hostname === proxyElement;
          });
        }
        if (shouldProxy) {
          proxy = {
            host: parsedProxyUrl.hostname,
            port: parsedProxyUrl.port,