Created attachment 200926 [details] nginx-websockify.patch I found this module (https://github.com/tg123/websockify-nginx-module) rather useful and would like to see it added to the port. Patch attached.
Hello Noah and thanks for the PR :-) I'm having trouble with this patch. The last update was January 22, 2018, and also just an update to the README. The last changes were 2015 and the beginning of 2016. I think it's not good to install this module because it will not be taken care of anymore. sorry
Hi Jochen. While I understand your concerns I'd like to point out that the author responded to an issue on github just 13 days ago. The module performs a simple task which should be a core feature of nginx in my opinion (considering that it can already proxy both websockets and raw tcp, just not the crossover) without any bells and whistles - it shouldn't require any maintenance as long as there isn't an unexpected security issue or nginx makes a breaking change. But if that still doesn't convince you I can offer to fork and maintain this module in case the author steps down - just shoot me an email. Of course it's your decision in the end and I respect that (after all I don't have to maintain the port) but the fact is that I will be using this for the foreseeable future so I figured I might as well send a patch - also maintaining my own patches to the ports tree seems a little inconvenient long term.
Heya Noah :-) Of course, I am always happy when a new module is to be inserted. The problem is that most of the time the module will only be used by one person. So NGINX is getting bigger and more confusing. Are the simple suggestions for NGINX for websocket not for your problem? https://www.nginx.com/blog/websocket-nginx/ http://nginx.org/en/docs/http/websocket.html It's always good to see 3rd party modules here: https://www.nginx.com/resources/wiki/modules/ Here is another websocket 3rd party module: Nchan. Does this help you?
Hi Jochen, to clarify: the websockify module accepts a websocket connection from the client but then proxies this traffic to a plain raw TCP backend. I'm not aware of any way to have nginx do this without this module, but it is extremely useful to tunnel native non-web protocols (like for example VNC) into a web browser. Your suggestions all relate to regular websocket proxying, that is, having a websocket to the backend as well. I know that this works without any extra modules but as I said, this is not what the the websockify module is for. While there are alternatives in ruby or nodejs that can be used to perform this task none of them are as simple and elegant as just configuring the nginx you're running anyways to do the job. This is why I think this module would be a good fit for the port: it's simple, elegant and extremely helpful if you need it. Of course I understand that you don't want to bloat the port with lots of modules that nobody uses, but given both how useful and simple it is I think this module is worth it.
Heya Noah :-) Thank you for the explanation. It makes sense to use something like that. Please allow me some time to check it out. I also have new versions of other 3rd party modules here. I think I will do this with the next commit
A commit references this bug: Author: joneum Date: Tue Feb 12 11:46:34 UTC 2019 New revision: 492777 URL: https://svnweb.freebsd.org/changeset/ports/492777 Log: - Add 3rd party websockify module - Update some 3rd party module PR: 235209 234761 Sponsored by: Netzkommune GmbH Changes: head/www/nginx/Makefile head/www/nginx/Makefile.extmod head/www/nginx/Makefile.options.desc head/www/nginx/distinfo