-
December 4th, 2020, 10:51 AM
#1
can't pass throw firewall on client
Hello,
we're having connection issues on installing our application in brokerage houses, they're regulated by strict security standards as they play in the stock market and so these environments are under heavy firewall rules.
We ask to open port 80 to our server, but it was not enough.
We need to get some tips and docs to lead in the resolution of these issues.
We use TLCP over HTTP, retrieving chunked data with a GET command.
Although the connection is answered correctly by LS server, no response and no bytes arrive on the client.
Thanks in advance.
Last edited by rperseguini; December 4th, 2020 at 10:53 AM.
-
December 4th, 2020, 02:03 PM
#2
Hi rperseguini,
Usually in this kind of issue the cause is to be found in some network intermediary that blocks or buffers the answers, preventing the correct reception by the client.
Are you leveraging websocket or http streaming transport? Or you are just polling the server?
Can the client at least receive the response to the create_session request, ie. do you get the session ID?
Could you provide us a snippet of server log reporting the requests of a client attempt?
You could also refer to the introduction section of this document (https://lightstreamer.com/docs/ls-se...Clustering.pdf) as some considerations about Load Balancer can be applied also to firewall and any other network intermediary.
Regards,
Giuseppe
-
December 4th, 2020, 03:03 PM
#3
hi,
Here I have a server log of my connection, we are trying to convince the customer to run tests against our development server where the logs are enabled.
We use HTTP 1.1 transport with GET, like this:
http:/<server>/lightstreamer/create_session.txt?LS_protocol=TLCP-2.1.0&LS_cid=mgQkwtwdysogQz2BJ4Ji+kOj2Bg&LS_adapte r_set=CDS_ADAPTER&
04-Dec-20 09:01:34,739|DEBUG|L.connections |r Lightstreamer HTTP Server|Socket accept from 127.0.0.1:53130
04-Dec-20 09:01:34,777|INFO |L.connections |SERVER POOLED THREAD 10 |Accepted HTTP connection on "Lightstreamer HTTP Server" from 127.0.0.1:53130
04-Dec-20 09:01:35,094|DEBUG|L.connections.http |SERVER POOLED THREAD 9 |Parsing request:
GET /lightstreamer/create_session.txt?LS_protocol=TLCP-2.1.0&LS_cid=mgQkwtwdysogQz2BJ4Ji+kOj2Bg&LS_adapte r_set=CDS_ADAPTER& HTTP/1.1
Host: beta.cartezyan.com.br
Content-Encoding: Chunked
Content-Type: text/plain; charset=ISO-8859-1
Accept: /
Accept-Charset: *
Accept-Encoding: gzip, identity
User-Agent: Cartezyan/8.0 Mozilla/3.0 (compatible; Indy Library)
X-Forwarded-For: 10.252.217.196
X-Forwarded-Host: beta.cartezyan.com.br
X-Forwarded-Server: beta.cartezyan.com.br
Connection: Keep-Alive
and my program receives:
HTTP/1.1 200 OK
Date: Fri, 04 Dec 2020 12:01:35 GMT
Server: Lightstreamer-Server/7.0.3 build 1885.8 (Lightstreamer Server - www.lightstreamer.com) ENTERPRISE edition
Content-Type: text/enriched; charset=UTF-8
Cache-Control: no-store
Cache-Control: no-transform
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 1 Jan 1970 00:00:00 GMT
Content-Encoding: gzip
x-accel-buffering: no
Transfer-Encoding: chunked
At the client's environment, nothings is received, no response, no headers, no data.
thanks.
Last edited by rperseguini; December 4th, 2020 at 03:09 PM.
-
December 4th, 2020, 04:12 PM
#4
Hi rperseguini,
I can confirm that the server log would be very helpful as it can confirm whether the create session request is correctly processed and the respective response sent back.
In that case you can focus on finding out where it gets stuck on its way to the client.
Anyway, it's not clear to me when you say* "my program" receives the http ok, what are you referring to, is there a sw component between the server and the client?
Regards,
Giuseppe
-
December 4th, 2020, 04:30 PM
#5
HI.
Ok, we'll try to make more testes on customer side.
We have a C++ application that create a session on LS server, subscribe itens, receive realtime data and "puts it on the screen". In this application (my program) we dump to log the headers of HTTP response of create_session.
I don't know if it makes difference, but we use an Apache server as a reverse proxy to distribute calls to the various services that handles incomming requests.
We don't have logs enabled in production. When it failed with our customer, I just saw at Apache log that create_session URL was responded with HTTP 200, but nothing was dump to his log file.
thanks.
Last edited by rperseguini; December 4th, 2020 at 04:33 PM.
-
December 4th, 2020, 04:53 PM
#6
Hi rperseguini,
Ok. Just a consideration about something unusual we found in the http headers:
Content-Encoding: Chunked
"Chunked" is something unexpected, maybe is not related to the issue, but since also the response is "chunked", maybe the body of the response comes slitghly later.
Regards,
Giuseppe
-
December 4th, 2020, 08:47 PM
#7
hi Giuseppe,
That's right, this header Content-Encoding:Chunked is undocumented and unnecessary. I'll remove this for the next round of tests.
While Transfer-Encoding: chunked header in response is documented in TLCP guide, its received anyway and indicates a data mode for transferring content.
thanks a lot.
Best regards.
Renato
Last edited by rperseguini; December 4th, 2020 at 11:17 PM.
Similar Threads
-
By Digambar in forum Client SDKs
Replies: 3
Last Post: August 8th, 2013, 05:10 PM
-
By Pradeep Chahal in forum Adapter SDKs
Replies: 1
Last Post: March 11th, 2010, 03:53 PM
-
By vdhinesh in forum Client SDKs
Replies: 1
Last Post: December 7th, 2009, 12:36 PM
-
By mohamida in forum Adapter SDKs
Replies: 6
Last Post: November 12th, 2009, 03:03 PM
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
All times are GMT +1. The time now is 05:16 AM.
Bookmarks