Nginx HTTPS 仅匹配管理子文件夹

Nginx HTTPS 仅匹配管理子文件夹

我已设法将所有 /admin 请求重定向到 https:

server {
    listen 80;

    location /admin {
        rewrite ^ https://$server_name$request_uri?$args permanent;
    }
}

但不知道如何将所有不在 /admin 内的 https 请求重定向到 http,到目前为止我已经:

server {
    listen       443;

    location ~ /admin {
        rewrite ^ http://$server_name$request_uri?$args permanent;
    }
}

编辑:

我已按要求使重定向工作,但无法阻止 /admin url 变为 404。感觉我需要在空白块中放一些东西。

server {
    listen       443;

    location /admin {

    }   

    location / {
        rewrite ^ http://$server_name$request_uri?$args permanent;
    }
}

谢谢

答案1

您需要在/admin加载时以某种方式提供某些服务。因此请确定您想要提供什么服务。

例如:

location /admin {
    try_files $uri $uri/ =404;
}

将提供该目录中的静态文件。添加您需要的任何内容。

相关内容