<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: NGINX reverse proxy in SolidFire and HCI</title>
    <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446548#M255</link>
    <description>&lt;P&gt;Can you please share squid.conf you used for web UI ?&lt;/P&gt;</description>
    <pubDate>Wed, 02 Aug 2023 04:35:52 GMT</pubDate>
    <dc:creator>iamsam</dc:creator>
    <dc:date>2023-08-02T04:35:52Z</dc:date>
    <item>
      <title>NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446292#M248</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;I need help configure Nginx reverse proxy to Solidfire(Element 12.7) like this :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Untitled Diagram.jpg" style="width: 536px;"&gt;&lt;img src="https://community.netapp.com/t5/image/serverpage/image-id/26536i7B037C76CD68057E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Untitled Diagram.jpg" alt="Untitled Diagram.jpg" /&gt;&lt;/span&gt;&lt;BR /&gt;This is the Nginx config :&lt;BR /&gt;server {&lt;BR /&gt;listen 10443 ssl;&lt;BR /&gt;ssl_certificate /etc/ssl/proxy/server.crt;&lt;BR /&gt;ssl_certificate_key /etc/ssl/proxy/server.key;&lt;BR /&gt;location / {&lt;BR /&gt;proxy_pass &lt;A href="https://192.168.1.22:443" target="_blank"&gt;https://192.168.1.22:443&lt;/A&gt;;&lt;BR /&gt;proxy_set_header Host $host;&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;On the client machine(10.0.0.22 does not have route to Solidfire MVIP 192.168.1.22) when I browse &lt;A href="https://10.0.0.11:10443" target="_blank"&gt;https://10.0.0.11:10443&lt;/A&gt;&lt;BR /&gt;The browser stops at URL below, showing ERR_CONNECTION_REFUSED&lt;BR /&gt;&lt;A href="https://10.0.0.11/auth/connect/authorize?client_id=element-ui&amp;amp;redirect_uri=https://10.0.0.11:10443/cluster/#/auth-callback&amp;amp;response_type=code&amp;amp;scope=openid" target="_blank"&gt;https://10.0.0.11/auth/connect/authorize?client_id=element-ui&amp;amp;redirect_uri=https://10.0.0.11:10443/cluster/#/auth-callback&amp;amp;response_type=code&amp;amp;scope=openid&lt;/A&gt; profile element_api&amp;amp;state=49d0b7181d9e474cbd06af68a927d26b&amp;amp;code_challenge=Hq462Eln6PjwBkjYZb9I0ZgJDD87-CCTcaPga4LgBtk&amp;amp;code_challenge_method=S256&amp;amp;response_mode=query&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jun 2025 09:46:48 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446292#M248</guid>
      <dc:creator>iamsam</dc:creator>
      <dc:date>2025-06-04T09:46:48Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446294#M249</link>
      <description>&lt;P&gt;Obviously you also need to redirect the port 10443.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 23 Jul 2023 03:49:32 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446294#M249</guid>
      <dc:creator>elementx</dc:creator>
      <dc:date>2023-07-23T03:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446296#M250</link>
      <description>&lt;P&gt;Do you mean on Nginx I need to redirect 443/tcp to 10443/tcp ?&lt;BR /&gt;I tried :&lt;BR /&gt;# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 10443&lt;BR /&gt;Now the page stops at&lt;BR /&gt;&lt;A href="https://10.0.0.11/login/error?ErrorCode=unauthorized_client&amp;amp;RequestId=0HMQPLPOG9AJN:00000001&amp;amp;ErrorDescription=" target="_blank"&gt;https://10.0.0.11/login/error?ErrorCode=unauthorized_client&amp;amp;RequestId=0HMQPLPOG9AJN:00000001&amp;amp;ErrorDescription=&lt;/A&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot from 2023-07-23 11-27-14.png" style="width: 999px;"&gt;&lt;img src="https://community.netapp.com/t5/image/serverpage/image-id/26537i75F124ACB41F7FCE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot from 2023-07-23 11-27-14.png" alt="Screenshot from 2023-07-23 11-27-14.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 23 Jul 2023 08:34:57 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446296#M250</guid>
      <dc:creator>iamsam</dc:creator>
      <dc:date>2023-07-23T08:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446299#M251</link>
      <description>&lt;P&gt;I don't think you need iptables, NGINX should be enough.&lt;/P&gt;&lt;P&gt;I didn't see at first you used 10443 on NGINX. Can you use 443 and see if any changes are required?&lt;/P&gt;&lt;P&gt;I may give this a try later this week (a bit busy until Thursday).&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jul 2023 12:30:24 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446299#M251</guid>
      <dc:creator>elementx</dc:creator>
      <dc:date>2023-07-24T12:30:24Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446335#M252</link>
      <description>&lt;P&gt;I have another cluster (Element 11.7), I can access it using Nginx settings in the first post. And I found this settings also works fine with Element 12.7 API. The problem shows only with 12.7 Web UI. Looks like this is due to the session-based Authentication introduced in Element "12.0" &lt;A href="https://library.netapp.com/ecm/ecm_download_file/ECMLP2865022" target="_blank"&gt;https://library.netapp.com/ecm/ecm_download_file/ECMLP2865022&lt;/A&gt;&lt;BR /&gt;I still don't know what Nginx options I need to set for Element 12.7 Web UI.&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jul 2023 20:28:21 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446335#M252</guid>
      <dc:creator>iamsam</dc:creator>
      <dc:date>2023-07-25T20:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446338#M253</link>
      <description>&lt;P&gt;Right, you may need a few additional rows in the NGINX proxy config file.&lt;/P&gt;&lt;P&gt;It shouldn't require any external changes (iptables or such).&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jul 2023 03:48:44 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446338#M253</guid>
      <dc:creator>elementx</dc:creator>
      <dc:date>2023-07-26T03:48:44Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446480#M254</link>
      <description>&lt;P&gt;I spent some time trying to get this to work, but without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did get a bit farther by using additional `location` directives, but that wasn't enough.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="elementx_0-1690796407985.png" style="width: 400px;"&gt;&lt;img src="https://community.netapp.com/t5/image/serverpage/image-id/26593i249561FDF0F65468/image-size/medium?v=v2&amp;amp;px=400" role="button" title="elementx_0-1690796407985.png" alt="elementx_0-1690796407985.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Normally reverse proxy hits /auth/api/2/account/login which generates a 302 redirect to /auth/connect/authorize/callback. I managed to get redirect_uri to my NGINX public URI, but that was not enough:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://s137.datafabric.lan:11443/auth/api/2/account/login?returnUrl=%2Fauth%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Delement-ui%26redirect_uri%3Dhttps%253A%252F%252Fs137.datafabric.lan%253A11443%252Fcluster%252F%2523%252Fauth-callback%26response_type%3Dcode%26scope%3Dopenid%2520profile%2520element_api%26state%3D0c136b9b5ba24222bc17c4f1f312cad9%26code_challenge%3Dna-kaHCHyEvwkXh6ZHAvS7ttZ-cbu76jC8aNLNkGE6c%26code_challenge_method%3DS256%26response_mode%3Dquery" target="_blank"&gt;https://s137.datafabric.lan:11443/auth/api/2/account/login?returnUrl=%2Fauth%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Delement-ui%26redirect_uri%3Dhttps%253A%252F%252Fs137.datafabric.lan%253A11443%252Fcluster%252F%2523%252Fauth-callback%26response_type%3Dcode%26scope%3Dopenid%2520profile%2520element_api%26state%3D0c136b9b5ba24222bc17c4f1f312cad9%26code_challenge%3Dna-kaHCHyEvwkXh6ZHAvS7ttZ-cbu76jC8aNLNkGE6c%26code_challenge_method%3DS256%26response_mode%3Dquery&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think there's another 302 redirect, maybe after successful authentication.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not sure if this can or can't be fixed on a reverse proxy. It would be better if API endpoint redirected to public IP (so, to SolidFire MVIP without NGINX reverse proxy, and to NGINX reverse proxy with NGINX reverse proxy), but it seems hardcoded to use MVIP.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can't think of other proxy-related workarounds than use a proxy server for the Web UI.&lt;/P&gt;&lt;P&gt;I tried with Squid on Linux, it works fine (client--(http)---&amp;gt; Squid ---&amp;gt; (https) --&amp;gt; SolidFire).&lt;/P&gt;&lt;P&gt;For a more secure approach, a commercial TLS-terminating proxy would be better.&lt;/P&gt;</description>
      <pubDate>Mon, 31 Jul 2023 10:16:11 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446480#M254</guid>
      <dc:creator>elementx</dc:creator>
      <dc:date>2023-07-31T10:16:11Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446548#M255</link>
      <description>&lt;P&gt;Can you please share squid.conf you used for web UI ?&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 04:35:52 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446548#M255</guid>
      <dc:creator>iamsam</dc:creator>
      <dc:date>2023-08-02T04:35:52Z</dc:date>
    </item>
    <item>
      <title>Re: NGINX reverse proxy</title>
      <link>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446550#M256</link>
      <description>&lt;P&gt;I didn't change anything - it's a transparent proxy so it's supposed to work without much per-target tuning.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;sudo yum install squid -y&lt;/P&gt;&lt;P&gt;sudo vim /etc/squid/squid.conf&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In there, I changed:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;to:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;acl localnet src 192.168.1.0/24 # RFC 1918 local private network (LAN)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I removed other Class A and B LANs (172.16.*, 10.*) so that only 192.168.1.0/24 is allowed to access Squid (IP:3128). There are additional security features in Squid, but I didn't try them out for this purpose.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Further below I left SSL ports as-is, although you could add 10443, for example&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;acl SSL_ports port 443&lt;/P&gt;&lt;P&gt;# acl SSL_ports port 443 10443&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then restart Squid service, open firewall port TCP/3128, and on the browser you can add a setting to use Squid (IP:3128) for both HTTP and HTTPS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That means you now trust network between you and Squid (as you go via non-encrypted TCP/3128 to Squid, and from Squid to SolidFire via HTTPS).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You could set up authentication to Squid, or even - if you have the freedom to do that - setup VPN or use SSH tunnel from your client to Squid 3128, if you needed more security. You could also use firewall settings on the Squid box to limit access to TC/3128 to your (team) workstation(s) IPs on 192.168.1.0/24.&lt;/P&gt;&lt;P&gt;That's all generic Linux/Squid stuff so it should work based on general instructions.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 05:53:58 GMT</pubDate>
      <guid>https://community.netapp.com/t5/SolidFire-and-HCI/NGINX-reverse-proxy/m-p/446550#M256</guid>
      <dc:creator>elementx</dc:creator>
      <dc:date>2023-08-02T05:53:58Z</dc:date>
    </item>
  </channel>
</rss>

