Note that there are some explanatory texts on larger screens.

plurals
  1. POHTTP Server capable of proxying requests
    primarykey
    data
    text
    <p>For performance reasons, I had to rewrite a part of our web infrastructure.</p> <p>For this purpose, I have written the critical part as a web application in C++. This web app listens on a given port, accepts exactly one TCP connection at a time, and processes all HTTP requests it receives on the current connection.</p> <p>You can start it like this to listen on port 8080:</p> <pre><code>./webapp 8080 </code></pre> <p>While it works flawlessly and much faster than before, its limitation is the one-connection-at-a-time nature of the application. You cannot serve HTML pages, Javascript, and images simultaneously over more than one connection with just one instance of the application.</p> <p>To overcome this limitation, I want to run a front-end, reverse-proxy HTTP server, which listens on port 80, and redirects incoming HTTP requests evenly on multiple instances of my web app running in the background. These instances could be created <strong>at boot time</strong> like this:</p> <pre><code>./webapp 10000 ./webapp 10001 ./webapp 10002 ./webapp 10003 ./webapp 10004 ./webapp 10005 ./webapp 10006 ./webapp 10007 ./webapp 10008 ./webapp 10009 </code></pre> <p>The frontend should be configured to establish a <strong>permanent</strong> HTTP connection to each web app <strong>at start time</strong>, and then forward incoming HTTP requests to one of the running web apps, spreading them evenly.</p> <p>The reverse-proxy should also support SSL from the client to itself. Support of SPDY would be a plus, but is not a must.</p> <p>My question is: Which HTTP reverse-proxies would be able to work as a frontend in my scenario? If you know more than one, which are the pros and cons of each?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload