Comments (20)
This is incorrect. Coturn can definitely run behind NGINX using stream.
Learn more about it here: https://www.nginx.com/resources/admin-guide/tcp-load-balancing/#proxy_pass
from coturn.
Can confirm that streaming proxy works. I have to increase my "proxy_buffer_size" for video to work.
from coturn.
No, it needs real clients with real IPs.
from coturn.
Dang, 'cause yeah that's probably a relatively useful case for family servers these days. Everyone's home-page has SSL thanks to letsencrypt so web traffic goes through there. It'd be really slick to be able to redirect a subdomain's 443 traffic to localhost's 5349 or something. I'm up and running for all users except people behind corporate firewalls that block non-standard ports for this reason. At least I think that's what's going on.
from coturn.
TURN specs do not have provisioning for that. That would be a custom
feature.
On Mon, Sep 5, 2016 at 6:54 PM, Nick Touran [email protected]
wrote:
Dang, 'cause yeah that's probably a relatively useful case for family
servers these days. Everyone's home-page has SSL thanks to letsencrypt so
web traffic goes through there. It'd be really slick to be able to redirect
a subdomain's 443 traffic to localhost's 5349 or something. I'm up and
running for all users except people behind corporate firewalls that block
non-standard ports for this reason. At least I think that's what's going
on.—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
#43 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFq2UJlcFrXJsPPvPl5VVYiLzw6BfwEuks5qnMfdgaJpZM4IVNlU
.
from coturn.
or mayby ha-proxy?
from coturn.
@ieatcat
Do you happen to have an example config that would capture turn traffic and forward appropriately while still directing regular https:// and wss:// to the correct port?
from coturn.
@ieatcat: are you able to provide some example configuration for nginx and coturn?
from coturn.
Be aware that AFAIU if you use reverse proxy then because of coTURN's internal architecture may it doesn't load balance the load between the threads, so between cpu core-s.
And this way may one thread will handle all incoming traffic!
As a workaround may use very lots of reverse proxies to somehow avoid this problem.
from coturn.
Did not try this with load balancing, but using the link posted by ieatcat I was able to proxy pass to turnserver in nginx and still route to my websockets. Not sure if this is the best way to do this, but it does work (inside nginx.conf):
http {
(http and websocket routing in http block)
}
stream {
server {
listen 3478 udp;
proxy_pass my.domain.com:3478;
}
server {
listen 5349 udp;
proxy_pass my.domain.com:5349;
}
}
from coturn.
@card-b and @ntinti Can you share a bit more about the system that you got to work? I have been trying to get coturn to run behind nginx, but can't seem to make a connection.
from coturn.
I could make it work behind nginx reverse proxy, problem is: stun gets the gateway machine's internal IP.
from coturn.
Could you please share your example of nginx proxy settings? I'm having trouble with mine not connecting.
from coturn.
I am also interested to see some settings in Nginx and coturn
from coturn.
Does only udp
require to run coturn with stream
in nginx so tcp
turn is able to run behind reverse proxy with classic ssl termination?
from coturn.
+1
from coturn.
Hi did anyone manage to do it if yes can you share the co-turn configuration and the ngnix conf file?
from coturn.
Hi @dhaminitinAltran ,
We will work together closely to resolve the issue !
from coturn.
Sorry to dig that up, but is there any progress yet? Tried something like #43 (comment) suggested, but i fail.
stream {
map $ssl_preread_server_name $name {
turn.domain.de turn_backend;
}
upstream turn_backend {
server COTURN_IP:3478;
}
server {
listen PROXY_IP:443 udp;
proxy_pass $name;
ssl_preread on;
#access_log /var/log/proxy/access;
error_log /var/log/proxy/error;
}
}
Idea is to listen on port 443 for incoming udp traffic to send it to my coturn instance.
from coturn.
from coturn.
Related Issues (20)
- Intermittent Connectivity Issues and Delayed Audio with COTURN Server in Android App HOT 1
- ERROR: Cannot open log file for writing: HOT 2
- How to reload coturn when ssl certificates are renewed? HOT 1
- Link Error : netengine.c:(.text+0x5f9b): undefined reference to `evthread_use_pthreads' HOT 8
- Support UDP proxy protocol HOT 1
- Empty else branch in ns_turn_server.c HOT 1
- remove "realm" from hmackey for Long Term credentials
- error 401: Unauthorized help~ HOT 2
- stun can't get the public ip HOT 2
- Segmentation fault due to stack overflow on log rotation HOT 3
- [RFC7250] Raw public keys openssl functionality HOT 2
- REST API problem... HOT 2
- coturn filter for fail2ban HOT 9
- Thread count should default to *ONLINE* CPU count HOT 1
- Coturn under attack? HOT 2
- Coturn behind NAT, correct firewall setting for a range of ports
- Docker min and max port not being used HOT 7
- Running coturn via Docker in AWS results in only private IP for relay HOT 1
- Serve prometheus on localhost
- Specifying a prometheus port results in segfault HOT 1
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 coturn.