<?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: Using a virtual proxy with a Slash (&amp;quot;/) with QPS in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-a-virtual-proxy-with-a-Slash-quot-with-QPS/m-p/2068911#M18525</link>
    <description>&lt;P&gt;Hello Clemens,&lt;/P&gt;
&lt;P&gt;I hope all is well. To answer your question, yes. It matters; it's part of the &lt;A href="https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-Connect-API-QPS-API-URL.htm" target="_blank" rel="noopener"&gt;API spec&lt;/A&gt;. However, If your goal is to segment your audience to a preferred node for per-customer computing, I would recommend the following:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Abandon the path-based routing in this approach, allowing the Layer 7 balancing to operate in a lightweight and agnostic way to the client context.&lt;/P&gt;
&lt;P&gt;2) Because you're using ticketing, you have additional options around session claims that you can leverage, with a matching engine load balancing rule, to send the users' session compute to the appropriate engine node and stream combination for each customer:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-ProxyServiceAPI-Authentication-Ticket-Add.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-ProxyServiceAPI-Authentication-Ticket-Add.htm&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;amp;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;A href="https://help.qlik.com/en-US/sense-admin/November2021/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-load-balancing-rules-with-custom-properties.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-admin/November2021/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-load-balancing-rules-with-custom-properties.htm&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;Note that in your case, it might make sense to assign something like this, for example, if you provide a group claim attribute list in the ticket backend POST for each user session federated into Qlik:&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Load Balancing Rule
node.@Customer=resource.stream.@Customer


Security Rule (App,Read)
user.group=resource.stream.@Customer&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) If you're trying to identify the node the user might have begun their session with &amp;nbsp;(e.g., SP initiated) and better determine where to get the Qlik Proxy Ticket from at your ticket broker level, set the authentication module to redirect uri to your endpoint/listener, per: &lt;A href="https://help.qlik.com/en-US/sense-admin/February2023/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/authentication-methods.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-admin/February2023/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/authentication-methods.htm&lt;/A&gt;. Qlik will send the internal server name and virtual proxy client-side as query string parameters.&lt;/P&gt;</description>
    <pubDate>Mon, 08 May 2023 22:51:58 GMT</pubDate>
    <dc:creator>SteveAO</dc:creator>
    <dc:date>2023-05-08T22:51:58Z</dc:date>
    <item>
      <title>Using a virtual proxy with a Slash ("/) with QPS</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-a-virtual-proxy-with-a-Slash-quot-with-QPS/m-p/2067619#M18515</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We are trying to setup a virtual proxy that will load balance to a rim node only (for use for specific clients). For that we need a prefix that has a slash character ("path1/path2").&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This works when accessing the URL directly. But we will need to access the QPS for getting a ticket with that virtual proxy with a Slash from the rim node.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The QPS API doesn't seem to work with a prefix that has a slash though for some reason, with the error message "No matching endpoint found".&lt;/P&gt;
&lt;P&gt;&lt;A href="https://server:4243/qps/path1" target="_blank" rel="noopener"&gt;https://server:4243/qps/path1/ticket&lt;/A&gt;&amp;nbsp;-&amp;gt; works&lt;/P&gt;
&lt;P&gt;&lt;A href="https://server:4243/qps/path1" target="_blank" rel="noopener"&gt;https://server:4243/qps/path1/path2/ticket&lt;/A&gt;&amp;nbsp; -&amp;gt; doesn't work&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The virtual proxy that will be used by default would be under the above scheme:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://server:4243/qps/path1" target="_blank" rel="noopener"&gt;https://server:4243/qps/path1/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;If that matters in any way.&lt;/P&gt;
&lt;P&gt;Am i missing something?&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2023 10:55:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-a-virtual-proxy-with-a-Slash-quot-with-QPS/m-p/2067619#M18515</guid>
      <dc:creator>cllu</dc:creator>
      <dc:date>2023-05-04T10:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: Using a virtual proxy with a Slash ("/) with QPS</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-a-virtual-proxy-with-a-Slash-quot-with-QPS/m-p/2068911#M18525</link>
      <description>&lt;P&gt;Hello Clemens,&lt;/P&gt;
&lt;P&gt;I hope all is well. To answer your question, yes. It matters; it's part of the &lt;A href="https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-Connect-API-QPS-API-URL.htm" target="_blank" rel="noopener"&gt;API spec&lt;/A&gt;. However, If your goal is to segment your audience to a preferred node for per-customer computing, I would recommend the following:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) Abandon the path-based routing in this approach, allowing the Layer 7 balancing to operate in a lightweight and agnostic way to the client context.&lt;/P&gt;
&lt;P&gt;2) Because you're using ticketing, you have additional options around session claims that you can leverage, with a matching engine load balancing rule, to send the users' session compute to the appropriate engine node and stream combination for each customer:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-ProxyServiceAPI-Authentication-Ticket-Add.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-developer/February2023/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-ProxyServiceAPI-Authentication-Ticket-Add.htm&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;amp;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;A href="https://help.qlik.com/en-US/sense-admin/November2021/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-load-balancing-rules-with-custom-properties.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-admin/November2021/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-load-balancing-rules-with-custom-properties.htm&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;Note that in your case, it might make sense to assign something like this, for example, if you provide a group claim attribute list in the ticket backend POST for each user session federated into Qlik:&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Load Balancing Rule
node.@Customer=resource.stream.@Customer


Security Rule (App,Read)
user.group=resource.stream.@Customer&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) If you're trying to identify the node the user might have begun their session with &amp;nbsp;(e.g., SP initiated) and better determine where to get the Qlik Proxy Ticket from at your ticket broker level, set the authentication module to redirect uri to your endpoint/listener, per: &lt;A href="https://help.qlik.com/en-US/sense-admin/February2023/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/authentication-methods.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-admin/February2023/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/authentication-methods.htm&lt;/A&gt;. Qlik will send the internal server name and virtual proxy client-side as query string parameters.&lt;/P&gt;</description>
      <pubDate>Mon, 08 May 2023 22:51:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-a-virtual-proxy-with-a-Slash-quot-with-QPS/m-p/2068911#M18525</guid>
      <dc:creator>SteveAO</dc:creator>
      <dc:date>2023-05-08T22:51:58Z</dc:date>
    </item>
  </channel>
</rss>

