-
Notifications
You must be signed in to change notification settings - Fork 232
Configuring a server to accept SPDY requests #54
Comments
Just to clarify, we want to change our server to do this examination of the incoming request. We are not clear what we need to do to make sure our clients using CocoaSPDY will need. We would like it if you can expand on those "smarts" neded to examine the request so we change our server to be able to do this. |
Once SSL is negotiated, the next few bytes over the TCP connection are either going to be an HTTP request method or a SPDY frame header. By examining these bytes before setting up the rest of your pipeline, you can determine whether the connection should be set up to handle SPDY or HTTP. |
@goaway I think I'm close do doing what you mention with the help of haproxy. Haproxy has the ability to examine the raw bytes going over the socket by just updating the rules/config file (nginx would require modification of the core/module code). HAProxy Dedicated Port ConfigurationThis method successfully implements the dedicated port @goaway mentions in the project README.
HAProxy Smart DetectionThis method, currently, unsuccessfully attempts to implement the idea @goaway presents in the project README and Twitter implements.
I believe the problem is the differentiator code below doesn't include any logic to check for a data-frame. See the link above to see an implementation of a differentiator that does take into account the data frame. I'd appreciate any comments on furthering this differentiator logic.
The configurations above are trimmed down versions of my configuration in an effort to include only the relevant settings. Please post your results. Useful Commands
|
We have built a server at Amahi for our Amahi iOS app. The server supports NPN over SSL which has been implemented using the Amahi SPDY library. All other services have been enabled to communicate with our server using SPDY via NPN. Except the iOS app which still uses httpv1.1. We now want to use CocoaSPDY in our iOS app. We understand that CocoaSPDY does not support NPN. But due to constraints in the system, we cannot dedicate another port just for spdy requests from the iOS app.
The readme suggests that we "use a server that's smart enough to examine the incoming request and determine whether the connection will be SPDY or HTTP based on what it looks like".
I am looking for a way to build this "smart server" that can work without changing the current framework so as not to disrupt the server's interaction with other apps.
The text was updated successfully, but these errors were encountered: