Comments (7)
Just a heads up: I've started looking into this while trying to add test cases for our socket-client component: reactphp-legacy/socket-client#62
The resulting SSL/TLS socket server works reasonably well and I'll look into filing a PR for this in the upcoming weeks
However, we currently have to share some classes with the socket-client component, so I'll look into moving these elsewhere first. I'll keep this ticket updated.
from socket.
Progress update: All referenced issues have been resolved in the meantime. The next (last!) batch of dependencies is #49, #50 and #51.
I'm ready to file a PR for my SSL/TLS server implementation once these are finally in
from socket.
Any E.T.A. on this?
Unfortunately not. If your "own hack" works fine, I recommend you stick with it for the time being 👍
That being said, this task is high on my todo list and I plan on picking this up in the next week. However, this currently depends on reactphp/stream#42 first if we want to avoid some rather nasty hacks here.
from socket.
A possible alternative is to launch a SSL/TLS proxy server (such as stunnel, haproxy or nginx) in front of your unencrypted socket server.
from socket.
I'm curious why there is no 1st party support for this yet? That old pull request basically had the gist of it all right. As for the alternative, once #25 is resolved, this issue will be a little more than a matter of parity between the server and client side capabilities of react and their completeness since we can actually set up a proper IPC socket between the two at that point, rather than using the loop back interface.
Ironically, php's openssl extension, and subsequently anything TLS related, seems to suffer a bit from the same problem as openssl itself when it comes to how they are documented (or lack thereof in some cases). The PHP 5.6 migration guide is the only official documentation that mentions most of the "recent" and relevant changes to PHP as far as I know.
Personally, I prefer this https://wiki.php.net/rfc/improved-tls-defaults to the migration guide, at the time of writing this though, because it seems to still be at least as accurate and more verbose than the former.
from socket.
Any E.T.A. on this? Need to know if I should continue using my own hack for now or wait for this in order to meet my own deadlines.
from socket.
See #55
from socket.
Related Issues (20)
- Ignoring exceptions from HappyEyeBallsConnectionBuilder::resolve HOT 2
- Keep tcp connection alive HOT 2
- Certificates using mkcet fail handshake HOT 4
- Additional suggestion HOT 2
- Get write response HOT 2
- Problem with DNS request in socket connector HOT 3
- Socket server need to restart on day start HOT 11
- verify_peer should default to false for React\Socket\Server using TLS context HOT 1
- TcpConnector - are writes buffered or sent immediately? HOT 10
- Listening multiple socket chanels on the same server HOT 2
- Write never send data HOT 2
- Failed tests with OpenSSL 3 HOT 5
- EventBase::loop(): kevent: Bad file descriptor HOT 6
- [Security] Response size limitation HOT 2
- [v1.11.0] Accessing array offset on null value - Failed TCP connection without ext-sockets HOT 2
- How to handle socket connection on Server HOT 4
- Interactive client example? HOT 2
- How to deploy the server? HOT 1
- New to reactphp : I think my problem is easy for you HOT 3
- Memory leak in TcpServer due to PHP stream_context_create memory leak HOT 5
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 socket.