Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPS/TLS support? #27

Open
mcbarros opened this issue Apr 3, 2017 · 2 comments
Open

HTTPS/TLS support? #27

mcbarros opened this issue Apr 3, 2017 · 2 comments

Comments

@mcbarros
Copy link

mcbarros commented Apr 3, 2017

Is it possible to work on HTTPS? I tried to use it with https.createServer but I got the following error:

../src/stream_base.h:226:void node::StreamBase::Consume(): Assertion `(consumed_) == (false)' failed.
 1: node::Abort() [.../node/v6.10.1/bin/node]
 2: node::Assert(char const* const (*) [4]) [.../node/v6.10.1/bin/node]
 3: node::TLSWrap::Wrap(v8::FunctionCallbackInfo<v8::Value> const&) [.../node/v6.10.1/bin/node]
 4: node::TLSWrap::Wrap(v8::FunctionCallbackInfo<v8::Value> const&) [.../node/v6.10.1/bin/node]
 5: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) [.../node/v6.10.1/bin/node]
 6: 0x9ec00e [.../node/v6.10.1/bin/node]
 7: 0x9ec8ae [.../node/v6.10.1/bin/node]
 8: 0x1e76df5092a7

And the code works just fine without sticky sessions.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@sam2x
Copy link

sam2x commented May 19, 2017

Any news about this ? i want also to migrate to clustering app keeping my HTTPS and socketio. But before doing that i need to be sure there is a reliable conf/setup.
Anyone ?

@wzrdtales
Copy link
Owner

You're probably better off scaling in a more modern way. Stay single threaded and scale with docker containers within an orchestrator (choose some).

However, SSL support would need to add the layer for decryption onto the socket that is being opened, which I currently have no time for to implement. Feel free to open a PR though. But actually SSL terminating your traffic before it reaches your node app is the far better option and for those use cases actually the layer 4 loadbalancing originated, which is the pure difference between this and Fedors original module. From years of experience now I can just state, that the cluster module of node is not really a good way to scale your application, especially in very dynamic environments.

If you search for layer 3 loadbalancing, this should theoretically work, but has never been tested and probably results into bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants