大家好,所以我在我的nginx配置中有这个重定向,以确保所有页面都使用https,但是如果网址匹配$hostname/videos/:some_id
,我想添加一个条件来停止重定向,只有当视频直接在主机之后因为我还有其他网址,例如$hostname/admin/videos/:some_id
仍然需要https。
我该怎么做?
if ($http_x_forwarded_proto != 'https') {
return 301 https://$server_name$request_uri;
}
提前致谢!
答案 0 :(得分:0)
嗯,不使用if语句的最简单方法是拥有两个不同的服务器块。一个用于HTTP,一个用于HTTPS。
server {
listen 80;
server_name your_host_name;
location /videos {
...
}
location / {
return 301 https://$host$request_uri;
}
}
server {
server_name your_host_name;
listen 443 ssl;
location / {
...
}
}