Hello
I am trying to use NGINX as reverse proxy for streaming using QuickTime
and rtsp over http.
QuicKTime send an http GET to my reverse proxy in a public zone, then my
reverse proxy send the request to my video server in a private zone.
What I can see is that the http GET request is received by NGINX on the
reverse proxy, then by my video server, which responds immediately with
a 200 OK.
This response is received by the reverse proxy, but it seems that NGINX
block the response. (see log file attached).
Other http traffic is executed without any problem, problems occurs only
with rtsp over http.
The http headers of the http GET send by QuickTime are:
User-Agent: QuickTime/7.7 (qtver=7.7;os=Windows NT 5.1Service Pack 3)
x-sessioncookie: 4qqv28gOAABf4EQBBoAAAA
Accept: application/x-rtsp-tunnelled
Pragma: no-cache
Cache-Control: no-cache
Here is my NGINX configuration:
------- /etc/nginx/nginx.conf BEGIN -------
worker_processes 1;
error_log /var/log/nginx/error.log ;
pid /var/run/nginx/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
gzip on;
#gzip off;
gzip_min_length 1000;
#gzip_buffers 4 8k;
#gzip_http_version 1.0;
gzip_comp_level 3;
gzip_proxied any;
#gzip_types text/plain application/xml;
gzip_types text/plain text/css application/json
application/x-javascript text/xml application/xml application/xml+rss
text/javascript;
gzip_vary on;
include /etc/nginx/sites-enabled/*;
include /etc/nginx/proxy.conf;
}
------- /etc/nginx/nginx.conf END -------
------- /etc/nginx/proxy.conf BEGIN -------
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
------- /etc/nginx/proxy.conf END -------
------- /etc/nginx/sites-enabled/video.conf BEGIN -------
upstream video
{
server 10.194.188.2:80;
}
server
{
listen 10.194.188.90:80;
server_name ;
location /
{
proxy_pass http://video;
}
error_log /var/log/nginx/errori debug;
}
------- /etc/nginx/sites-enabled/video.conf END -------
Thank’s for your help…
Eric