Ssl NGINX忽略单个页面的HTTPS

Ssl NGINX忽略单个页面的HTTPS,ssl,nginx,nginx-location,Ssl,Nginx,Nginx Location,我有一个视频门户系统,可以播放实时流。问题是实时流是通过docker动态创建的,所以我无法轻松地保护它们(HTTPS)。我需要一种方法告诉NGINX不要在{my_domain}/portal/{url_variable}上保护(HTTP)一个页面,但要确保站点的其余部分是HTTPS。这是我当前的配置: # FORGE CONFIG (DO NOT REMOVE!) include forge-conf/app.domain.com/before/*; server { listen 443 s

我有一个视频门户系统,可以播放实时流。问题是实时流是通过docker动态创建的,所以我无法轻松地保护它们(HTTPS)。我需要一种方法告诉NGINX不要在
{my_domain}/portal/{url_variable}
上保护(HTTP)一个页面,但要确保站点的其余部分是HTTPS。这是我当前的配置:

# FORGE CONFIG (DO NOT REMOVE!)
include forge-conf/app.domain.com/before/*;

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name app.domain.com;
root /home/forge/app.domain.com/public;

# FORGE SSL (DO NOT REMOVE!)
ssl_certificate /etc/nginx/ssl/app.domain.com/111111/server.crt;
ssl_certificate_key /etc/nginx/ssl/app.domain.com/111111/server.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'stuff';
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparams.pem;

add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";

我已尝试添加另一台服务器,该服务器侦听端口80并仅对门户URL使用位置,但整个站点随后不会呈现。

“…实时流是通过docker动态创建的,因此我无法轻松保护它们…”-我不理解此问题。对于使用HTTPS的能力来说,视频流是动态生成的还是静态文件根本不重要。但在任何情况下,如果您想对站点的某些部分使用HTTP,则需要充分配置端口80,因为这是用于HTTP的端口。只配置端口443将只允许通过HTTPS访问。@SteffenUllrich我如何在单个页面上只允许端口80
/portal/{URLVar}
?仅作解释。实时流通过HTTP提供服务,站点为HTTPS。正如您所说的,这将不起作用,因为您不能在HTTPS中提供HTTP资产。我的解决方案不是将这个页面作为HTTPS服务,而是作为HTTP服务。我的问题是,如何使用NGINX实现这一点?如果如您所说,直播流已经由HTTP提供服务,那么这意味着必须有另一台独立于您的服务器的服务器来实现这一点。因此,您不需要在服务器上执行任何操作,但实时流的URL应该只指向提供实时流的服务器。如果您不想向公众公开服务器,您可以使用您的,这样内部HTTP URL就可以通过HTTPS从外部访问。@SteffenUllrich只是为了确保我们谈论的是同一件事,或者我只是不明白您的意思。我在这里有一个门户:
https://app.domain.com/portal/stream_name
我需要让我的视频播放器为
http://206.189.200.80:5732/hls/stream_name.m3u8
目前不会,因为我无法在https页面上提供http服务。