1 Reply Latest reply: Mar 24, 2016 3:38 AM by kerem pekçabuk RSS

    Problem when trying to embed Qlik's Sheet page into our sercure SSL website

    Teck Rul Saw

      Objective: To embed Qlik’s sheet page into our secure SSL web site.

      Approach: Using the Qlik Sense Ticket method.

      Referencing Web Sites:

      https://community.qlik.com/blogs/qlikviewdesignblog/2014/12/08/tickets-in-qlik-sense

      https://github.com/braathen/qlik-auth-net

      Servers:

      Qlik Sense Server

      Port 80: Host our web site.

      Port 4243: Qlik Sense Proxy

      Port 8888: Qlik Sense HTTP Web

      Web server running Apache

      Port 443: HTTPS Web To Proxy both our web site and Qlik Sense HTTP Web

      image004.jpg

       

       

      Flow to achieve

      User access our website via browser will hit Apache server with SSL. https://domain1.com

      Apache will proxy the web site to Port 80 on Qlik Sense Server.

      User sees the login page and login.

      From backend, our web site will connect to Port 4243 on Qlik Sense Server, https://servername:4243/qps/ticket?Xrfkey=<KEY> to get the ticket.

      Then our web site will return the URL in IFRAME carrying the ticket number. https://domain1.com/single/?appid=b573113a-1462-4763-9a59-bd3ebb9685e7&sheet=EcZvAHs&opt=currsel&QlikTicket=<TICKET>

      IFRAME will hit Apache with SSL as well to request Qlik sheet page, Apache will proxy to Port 8888 on Qlik Sense Server. http://servername:8888/single/?appid=b573113a-1462-4763-9a59-bd3ebb9685e7&sheet=EcZvAHs&opt=currsel&QlikTicket=<TICKET>

      Apache retrieves the Qlik Sheet page result and send them to the user’s browser.

       

       

      Error & Troubleshooting

      We failed to see the Qlik Sheet page.

      If we tried to access the URL in the IFRAME directly (copy the URL and access it), some javascript errors prompted.

      image005.jpg

      unnamed.jpg

      index.jpg

       

       

       

      When inspecting the error in Chrome, we saw the following error, which try to access wss://domain1.com/app/b573113a-1462-4763-9a59-bd3ebb9685e7?reloadUri=https://ct.ac2wave.com/single/?appid=b573113a-1462-4763-9a59-bd3ebb9685e7&sheet=bFdzsy&opt=currsel&QlikTicket=<TICKET>.

      unnamed2.jpg

      Since WSS is using port 443, when tried to change it to HTTPS, we are getting error like below.

      unnamed3.jpg

       

      If we change the hostname in the URL to internal hostname, we managed to see the page displayed nicely.

       

      Question:

      Does our proxy approach work?

      Is the URL we use in the IFRAME correct?

      “wss://” web socket is using port 443, what does single.js trying to reload? It seems like something is missing in the routing.