问题描述
我有Ant Media Server社区版在现场服务器硬件上的KVM VM服务器上运行(现在进行测试),并希望为我们的小NPO员工提供有关Intranet的操作方法视频到防火墙内外。我们使用Nginx代理服务器通过许多不同的Web,聊天,Wiki,代码库等服务器和功能来执行此操作,该代理服务器管理每个服务器的Lets Encrypt证书,并提供对现场或在家中人员的访问权限。我们已经在路由器上正确设置了端口转发功能,并且一切正常。
当我以这种方式代理Ant Media Server时,可以很好地进入admin GUI(它直接出现在端口5080旁边的端口443上。但是流不能通过代理工作)-在内部还是外部防火墙-所有端口在媒体服务器和代理服务器中均打开。它显示了带有VOD链接的“流直播时将自动开始播放”消息的网页,然后只是停止-不启动播放器或流视频。通过端口5080直接访问时,VOD视频可以正确播放。
我意识到,也许您已采取措施确保人们无法执行我试图做的事情-绕开了不包含SSL功能的社区版许可功能。如果是这样,请让我知道。
我知道有一个功能可以直接在Ant Media Server上通过Lets Encrypt允许SSL。但是我无法将公共端口80转发到Ant Media Server,以允许进行Lets Encrypt证书更新-端口80已转发到我上面提到的专用代理/证书机器,这对我们来说做得很好。
否则,如果这应该可行,并且任何人都可以查看我的设置并告诉我有什么问题,那么这是我的proxy_pass设置:
---------------proxy_pass directive--------------------
server {
listen 443 ssl http2;
server_name antmedia.my.org;
add_header 'Access-Control-Allow-Origin' '*';
location / {
proxy_pass http://192.168.254.194:5080;
proxy_redirect http://192.168.254.194:5080 https://antmedia.my.org;
}
}
非常感谢!!我认为,Ant Media为Wowza争取他们的钱真是太酷了!
此docker-的Nginx.conf设置为stock / default-为反向代理角色进行了优化。这里只有列出的活动行:
user abc;
worker_processes 4;
pid /run/Nginx.pid;
include /etc/Nginx/modules/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
variables_hash_max_size 2048;
large_client_header_buffers 4 16k;
client_max_body_size 0;
include /etc/Nginx/mime.types;
default_type application/octet-stream;
access_log /config/log/Nginx/access.log;
error_log /config/log/Nginx/error.log;
gzip on;
gzip_disable "msie6";
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
include /etc/Nginx/conf.d/*.conf;
include /config/Nginx/site-confs/*;
lua_load_resty_core off;
}
解决方法
您可以尝试以下吗?
server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
server_name yourdomain.com;
location / {
proxy_pass http://192.168.254.194:5080;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}