FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important
information on the platform change.
06-17-2024 01:21 PM
Hi everyone,
What C++ library do you use for Webserver?
Sicne CtrlX required to use proxy_mapping to route https to http or unix domain socket. I have tested with cpp-httplib and crow, but none of them work. (HTTPS Proxy support · Issue #658 · yhirose/cpp-httplib (github.com))
I was considering to try Qt or Boost beast, but they are all bit more complicated, so I am concerned about whether I really should spend time on these.
06-17-2024 05:05 PM
Hi @cchang ,
How are you specifying the proxy mapping? This should only be required in the package manifest and should be automatically handled by the ctrlX OS reverse proxy. See documentation here.
I haven't personally tried to host a webserver on ctrlX OS with C++, so I don't have a recommendation. If we can't figure it out with proxy mapping, I can set up a local test.
06-18-2024 05:04 PM
Hi Sgilk,
thanks for your reply! I configure the prxoyMapping as followed.
{
"version": "1.0.0",
"id": "ctrlx-hdvisionsystems-test",
"services": {
"proxyMapping":[
{
"name": "ctrlx-hdvisionsystems-test.web",
"url": "/ctrlx-hdvisionsystems-test",
"binding": ":38080"
}
]
},
// ...
}
It would be nice if you can setup a test to cross verify. Unix Domain socket should be the problem, since I can use cpp-httplib to acquire App's license. My problem is that either unix domain socket or local http server didn't receive any forwarded call from Https.
I did the test with "socat" that forward https to localhost from with self-signed certificate and it works quite well. But I guess that socat probably doesn't deal witl SSL handshake somehow.
In the attachment you can find built snap packet and also simplified source code.
For source code, you can compile without any extra dependencies.
For Snap, it listens to port 38080 on all interface. You should be able to access http://<ip>:<port> /ctrlx-hdvisionsystems-test/<any-address>
After calling, you will get Hello World text plus ctrlx-hdvisionsystems-test/<any-address>
09-06-2024 09:53 AM
Are there any news? Could the issue been solved?