Comments (14)
Hi @ngzhongcai
I am trying to deploy for Socket.io running HTTPS behind AWS ELB.
Was discovered by @AbdelMat-CP on issue #9 that are some implementation problems with https when running on top of node 0.12.2.
To isolate that problem we must first complete https tests support, if you could help us, it would be awesome!
Currently my timespan for side projects is very narrow, so i could not complete it on the next days.
ATM, we are also using https with AWS ELB, but for performance proposes, we let the https handling on AWS ELB endpoint.
If you want to workaround this problem, you could configure AWS ELB like 80 http -> 3000 http, 443 https -> 3000 http and keep http on instance nodes.
from proxywrap.
Gonna let this issue opened so we can track in case this incident is different.
from proxywrap.
Am running on 10.36.
Can I say that I have deployed the script correctly.
from proxywrap.
Just remembered that AWS ELB has a problem with Socket.IO, have you configured AWS ELB with http or tcp?
from proxywrap.
Thanks for the tip! I will try terminating at elb later
from proxywrap.
Doing it as TCP
from proxywrap.
Please try ELB as stcp -> tcp
and use require( 'http' )
on your app instead.
from proxywrap.
You could want to redirect entire requests from http to https, for that you should detect which port is being accessed on ELB (through socket.proxyPort
) and redirect in case it isn't 443
.
from proxywrap.
Solved?
from proxywrap.
Nope. Not exactly. Sorry that I closed the issue unilaterally.
I made a few changes to my setup.
- Like what you suggested, I let it terminate at the load balancer to get more performance
- Instead of using Socket.io, I am now using WS Websocket only. https://github.com/websockets/ws
Tried to deploy WS server on top of ProxyWrap, but was unable to get it working. Turns out that you will need to suppress any remnants of ProxyProtocol strings before passing it through. Otherwise the WS server will not work.
Instead of amending on ProxyWrap, I amended the HTTP handler of WS server.
from proxywrap.
Tried to deploy WS server on top of ProxyWrap, but was unable to get it working. Turns out that you will need to suppress any remnants of ProxyProtocol strings before passing it through.
Strange, could you did something wrong? We use findhit-proxywrap on our production servers with Socket.IO and SSL support (trough ELB) without any problems.
I will remain this issue opened until we have our test suite ready for https
protocol.
Thanks for reporting! :)
from proxywrap.
Strange... I deployed WS similar to the first chunk of codes earlier.
And like yourself, I terminated SSL at ELB.
from proxywrap.
@ngzhongcai am trying to get a similar setup with WS websocket behind ELB working. How did you end up modifying the WS server in order to get it to work?
from proxywrap.
Should work with v0.3.12
from proxywrap.
Related Issues (20)
- Catching the PROXY protocol error HOT 23
- TCP port are from 1 to 65535 and not from 1 to 65335 HOT 3
- Under stress, some connections keep open HOT 5
- Coding policy suggestions HOT 2
- Unable to mix proxied and unproxied services? HOT 2
- Proxy protocol version 2 HOT 4
- Can't detect Socket.io 'disconnet' event when using via Amazon ELB HOT 4
- Is proxywrap working properly with https module? HOT 5
- proxy protcol v1 or v2
- TypeScript support
- Does this work with Node v12 LTS and HTTP/2? HOT 3
- Thank you HOT 1
- Elaborate and explain why it poses a security risk in README HOT 3
- Error when starting HOT 1
- BSD license with dependency on GPL-3.0 findhit-util HOT 2
- is it support outgoing proxy ?
- Sockets are leaking HOT 3
- Check for Header consistency HOT 2
- Not working at all on node 0.12.2 HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from proxywrap.