{
    "componentChunkName": "component---src-templates-doc-jsx",
    "path": "/docs/getting-started/proxy/",
    "result": {"data":{"markdownRemark":{"html":"<p>A proxy server acts as a security barrier between your internal network and the Internet, keeping others on the Internet from accessing information on your internal network.</p>\n<h2 id=\"proxy-definition\" style=\"position:relative;\"><a href=\"#proxy-definition\" aria-label=\"proxy definition permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Proxy definition</h2>\n<p>In basic web speak, a client makes a request to the server, and the server sends back a response.</p>\n<p><a href=\"https://assets.postman.com/postman-docs/proxy-request-flow.jpg\"><img src=\"https://assets.postman.com/postman-docs/proxy-request-flow.jpg\" alt=\"Standard request flow\"></a></p>\n<p>A proxy server is an application or system that acts as an intermediary between your computer and the internet, or more specifically, the client and server. The proxy makes requests on your behalf to websites, servers, and other internet services.</p>\n<p><a href=\"https://assets.postman.com/postman-docs/proxy-standard-flow.jpg\"><img src=\"https://assets.postman.com/postman-docs/proxy-standard-flow.jpg\" alt=\"Standard web proxy flow\"></a></p>\n<p>The proxy can reside on your local machine, somewhere in your network, or at any point between your client and the destination server on the internet.</p>\n<p>Similar to the way parents might speak to each other through a child, the child is a proxy relaying all communications between the 2 parents.</p>\n<blockquote>\n<p><strong>Parent 1</strong>:  <em>Ask your father if he can pick you up after school.</em></p>\n<blockquote>\n<p><strong>Timmy</strong>:  <em>Can you pick me up after school.</em></p>\n<blockquote>\n<p><strong>Parent 2</strong>:  <em>Yeah.</em></p>\n<blockquote>\n<p><strong>Timmy</strong>:  <em>Dad says yeah.</em></p>\n</blockquote>\n</blockquote>\n</blockquote>\n</blockquote>\n<p>In this analogy, the child forwards the information on behalf of each parent. Besides just relaying information, <a href=\"https://en.wikipedia.org/wiki/Proxy_server\">proxies can do much more</a>.</p>\n<ul>\n<li>Record all traffic between your machine and the internet</li>\n<li>Reveal the contents of all requests, responses, cookies, and headers</li>\n<li>Route traffic to specified internet locations</li>\n<li>Debugging</li>\n<li>Security from direct attacks</li>\n<li>DevOps load balancing</li>\n</ul>\n<p>A proxy acts like a go-between to perform various functions. Postman has a <a href=\"/static-docs/Postman/docs/sending-requests/capturing-request-data/capturing-http-requests/\">built-in web proxy to capture API requests</a>, the <a href=\"/static-docs/Postman/docs/sending-requests/capturing-request-data/interceptor/\">Postman Interceptor to intercept network traffic</a>, and proxy settings to direct API requests.</p>\n<h3 id=\"configuring-proxy-settings\" style=\"position:relative;\"><a href=\"#configuring-proxy-settings\" aria-label=\"configuring proxy settings permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Configuring proxy settings</h3>\n<p>This article describes how to configure the proxy settings in Postman to direct all requests made in Postman to route through a proxy server. This is different from <a href=\"/static-docs/Postman/docs/sending-requests/capturing-request-data/capturing-http-requests/\">capturing network traffic</a> with the built-in proxy which enables Postman to intercept network traffic.</p>\n<p>Postman's native apps for Mac, Windows, and Linux support configuring proxies. You can either specify to use a <strong>custom proxy</strong> or to use the <strong>system proxy</strong> defined in the operating system.</p>\n<p>Use the <strong>custom proxy</strong> if all of your applications need to use the same proxy. Turn <strong>custom proxy</strong> <em>on</em> if you want to direct the requests from Postman go through a custom proxy server. Turning it off will direct the requests to not use the proxy server.</p>\n<p>To configure the proxy settings, select the gear icon on the right side of the header toolbar, choose <strong>Settings</strong>, and select the <strong>Proxy</strong> tab.</p>\n<p><a href=\"https://assets.postman.com/postman-docs/proxy-settings-overview-modal.jpg\"><img src=\"https://assets.postman.com/postman-docs/proxy-settings-overview-modal.jpg\" alt=\"Proxy settings modal\"></a></p>\n<h3 id=\"using-a-custom-proxy\" style=\"position:relative;\"><a href=\"#using-a-custom-proxy\" aria-label=\"using a custom proxy permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Using a custom proxy</h3>\n<p>Postman enables you to configure <strong>Custom Proxy Configuration</strong> that direct Postman to forward your HTTP or HTTPS requests through a proxy server. This will route all requests sent by Postman through a proxy server of your choosing.</p>\n<ol>\n<li>Postman is the client that sends a request through the selected proxy.</li>\n<li>The proxy server sends the request to the server.</li>\n<li>The server returns a response back through the proxy server.</li>\n</ol>\n<p><a href=\"https://assets.postman.com/postman-docs/custom-proxy-flow.jpg\"><img src=\"https://assets.postman.com/postman-docs/custom-proxy-flow.jpg\" alt=\"Enable custom proxy\"></a></p>\n<p>Custom proxy settings are turned off by default and can be turned on using the toggle switch.</p>\n<p>Choose the type of proxy server by checking the appropriate checkboxes beside <strong>Proxy Type</strong>. By default, both <code class=\"language-text\">HTTP</code> and <code class=\"language-text\">HTTPS</code> are checked. This means that both HTTP and HTTPS requests will go through the proxy server.</p>\n<p>The first field under <strong>Proxy Type</strong> is <strong>Proxy Server</strong>. Here, enter the <strong>host</strong> or <strong>IP address</strong> (without protocol) of the proxy server. The next field to <strong>Proxy Server</strong> is where the <strong>port</strong> of the proxy server is provided.</p>\n<p>The field below <strong>Proxy Server</strong> is <strong>Proxy Auth</strong>. Postman uses the system's proxy configurations by default. To send API requests, select the option <strong>This proxy requires authentication.</strong> Turning this on makes the requests use Basic Authentication method, which requires a username and a password.</p>\n<img alt=\"Default proxy authentication\" src=\"https://assets.postman.com/postman-docs/enable-default-proxy-configuration.jpg\"/>\n<p>The <strong>Proxy Bypass</strong> setting is below the <strong>Proxy Server</strong> option. A number of comma-separated hosts can be provided here for which the requests don't use the proxy settings.</p>\n<p><a href=\"https://assets.postman.com/postman-docs/enable-custom-proxy-configuration.jpg\"><img src=\"https://assets.postman.com/postman-docs/enable-custom-proxy-configuration.jpg\" alt=\"Custom proxy configuration\"></a></p>\n<h3 id=\"using-a-system-proxy\" style=\"position:relative;\"><a href=\"#using-a-system-proxy\" aria-label=\"using a system proxy permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Using a system proxy</h3>\n<p>The <strong>Use the system proxy</strong> option enables Postman to use the system's default proxy configuration. It contains an option to use <code class=\"language-text\">HTTP_PROXY</code>, <code class=\"language-text\">HTTPS_PROXY</code>, and <code class=\"language-text\">NO_PROXY</code> environment variables.</p>\n<p>If all of your applications need to use the same proxy, you might need to use a default proxy configured at the Operating System level. Use the <strong>system proxy settings</strong> to forward your HTTP or HTTPS requests in Postman through your OS’s default configuration. In other words, you are telling the Postman and all requests sent using Postman to follow your OS's default configuration.</p>\n<ol>\n<li>Postman is the client that sends a request through your Operating System’s default configuration, which forwards the request to the proxy server.</li>\n<li>The system proxy server sends the request to the server.</li>\n<li>The server returns a response back through the proxy server.</li>\n</ol>\n<p><a href=\"https://assets.postman.com/postman-docs/system-proxy-flow.jpg\"><img src=\"https://assets.postman.com/postman-docs/system-proxy-flow.jpg\" alt=\"System proxy\"></a></p>\n<p>System proxy settings are enabled by default. Any request made through Postman will go through the system proxy.</p>\n<p>You can select the option \"<strong>Use the system proxy</strong>\" to turn the system proxy on or off. When it's unchecked, all the requests are made directly. However, regardless of the proxy setting in the app, Postman will still use the system proxy if there is an environment variable set.</p>\n<p><a href=\"https://assets.postman.com/postman-docs/use-system-proxy.jpg\"><img src=\"https://assets.postman.com/postman-docs/use-system-proxy.jpg\" alt=\"Use system proxy\"></a></p>\n<p><strong>Note:</strong> If the <strong>Use System Proxy</strong> and the <strong>Custom Proxy Configuration</strong> are both turned on, then the <strong>Custom Proxy Configuration</strong> will take precedence.</p>\n<h3 id=\"troubleshooting-proxy-configurations\" style=\"position:relative;\"><a href=\"#troubleshooting-proxy-configurations\" aria-label=\"troubleshooting proxy configurations permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Troubleshooting proxy configurations</h3>\n<p>If you are unable to send any requests through Postman and your network requires a proxy, take the following steps:</p>\n<ul>\n<li>Enable the system proxy and make sure the proxy is added to the operating system:\n<ul>\n<li>\n<p><strong>Windows</strong>: Select <strong>Start</strong>, then select on the gear icon (<strong>Settings</strong>) at the far left. In Settings, select <strong>Network &#x26; Internet</strong>. In the left-hand pane, select <strong>Proxy</strong> at the bottom. Select <strong>Manual Proxy Setup</strong> > use a Proxy <strong>(ON)</strong>.</p>\n</li>\n<li>\n<p><strong>Mac</strong>: Open System Preferences and select <strong>Network</strong>. On the left-hand side, make sure to select the connected or active network connection. You can have different proxy settings for each type of network connection. At the bottom, select <strong>Advanced</strong>. Select the <strong>Proxies</strong> tab and you will see different protocols you can configure. If you select <strong>Web Proxy (HTTP)</strong>, you will be able to enter the proxy server IP address, port number, username, and password.</p>\n</li>\n<li>\n<p><strong>Linux</strong>: In System Settings, scroll down to <strong>Hardware</strong>, select <strong>Networking</strong>, and then select <strong>Network Proxy</strong>. You can choose <strong>Automatic</strong> or <strong>Manual</strong>.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>If you are unable to send any requests through Postman and your network doesn't require a proxy, take the following steps:</p>\n<ul>\n<li>\n<p>Ensure you have both proxies (Custom/System) deactivated. If you are still not able to send the request, it might be due to the environment variables setup in your system. Two solutions are available to solve this:</p>\n<ul>\n<li>\n<p>Remove the environment variables <code class=\"language-text\">http_proxy</code>, <code class=\"language-text\">https_proxy</code>, <code class=\"language-text\">HTTP_PROXY</code>, and <code class=\"language-text\">HTTPS_PROXY</code>.</p>\n</li>\n<li>\n<p>Start Postman with these \"variables\" turned off:</p>\n<ul>\n<li><strong>Windows</strong>: Create a <code class=\"language-text\">postman.bat</code> file with the following contents:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">HTTP_PROXY</span><span class=\"token operator\">=</span><span class=\"token string\">''</span>\n<span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">HTTPS_PROXY</span><span class=\"token operator\">=</span><span class=\"token string\">''</span>\n<span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">http_proxy</span><span class=\"token operator\">=</span><span class=\"token string\">''</span>\n<span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">https_proxy</span><span class=\"token operator\">=</span><span class=\"token string\">''</span>\nstart C:<span class=\"token punctuation\">\\</span>path<span class=\"token punctuation\">\\</span>to<span class=\"token punctuation\">\\</span>Postman.exe</code></pre></div>\n<p>Double-clicking this <code class=\"language-text\">.bat</code> file opens Postman without any of the proxy environment variables set.</p>\n<ul>\n<li><strong>Mac/Linux</strong> – http_proxy= '' https_proxy= '' HTTP_PROXY= '' HTTPS_PROXY= '' /path/to/postman</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<p>If your proxy has basic auth, take the following steps:</p>\n<ul>\n<li>\n<p>Start Postman with the appropriate environment variables:</p>\n<ul>\n<li><strong>Windows</strong>: Create a <code class=\"language-text\">postman.bat</code> file with the following contents:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">HTTP_PROXY</span><span class=\"token operator\">=</span>http://<span class=\"token environment constant\">USER</span>:PASS@host:port\n<span class=\"token builtin class-name\">set</span> <span class=\"token assign-left variable\">HTTPS_PROXY</span><span class=\"token operator\">=</span>https://<span class=\"token environment constant\">USER</span>:PASS@host:port\nstart C:<span class=\"token punctuation\">\\</span>path<span class=\"token punctuation\">\\</span>to<span class=\"token punctuation\">\\</span>Postman.exe</code></pre></div>\n<p>Double-clicking this <code class=\"language-text\">.bat</code> file should open Postman without any of the proxy environment variables set.</p>\n<ul>\n<li><strong>Mac/Linux</strong>: Create the <code class=\"language-text\">.sh</code> file with the following contents:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token assign-left variable\">HTTP_PROXY</span><span class=\"token operator\">=</span>http://<span class=\"token environment constant\">USER</span>:PASS@host:port\n<span class=\"token assign-left variable\">HTTPS_PROXY</span><span class=\"token operator\">=</span>https://<span class=\"token environment constant\">USER</span>:PASS@host:port /path/to/postman</code></pre></div>\n<ul>\n<li>Create this file and save it in a convenient location. When you open this file, the set environment variables will only apply to the Postman process.</li>\n</ul>\n</li>\n</ul>\n<p>For troubleshooting configuration or request issues, see <a href=\"/static-docs/Postman/docs/sending-requests/troubleshooting-api-requests/\">Troubleshooting using console</a>.</p>","frontmatter":{"title":"Using a custom proxy","contextual_links":[{"type":"section","name":"Prerequisites","url":null,"blog_tag":null},{"type":"link","name":"Setting up Postman","url":"/docs/getting-started/settings/","blog_tag":null},{"type":"section","name":"Additional Resources","url":null,"blog_tag":null},{"type":"subtitle","name":"Related Blog Posts","url":null,"blog_tag":null},{"type":"link","name":"Client proxy settings in Postman","url":"https://blog.postman.com/client-proxy-settings-in-postman/","blog_tag":null},{"type":"link","name":"Capture Responses Using the Postman Proxy","url":"https://blog.postman.com/capture-responses-using-the-postman-proxy/","blog_tag":null}]},"fields":{"slug":"/docs/getting-started/proxy/","lastModifiedDate":"2022/03/14\n"}}},"pageContext":{"slug":"/docs/getting-started/proxy/"}},
    "staticQueryHashes": ["3840739351","63159454"]}