无法在nginx上的http上重定向到https和服务器静态文件

时间:2014-01-27 08:03:58

标签: caching nginx https static

我无法将/资源的内容直接通过http(带缓存等)和其他所有内容(/,/任何内容)重定向到https。这是现在的配置。

location /resources/ {
        access_log off;
        autoindex on;
        expires 3d;
        ## No need to bleed constant updates. Send the all shebang in o$
        ## fell swoop.
        tcp_nodelay off;
        ## Set the OS file cache.
        open_file_cache max=3000 inactive=120s;
        open_file_cache_valid 45s;
        open_file_cache_min_uses 2;
        open_file_cache_errors off;
        root /usr/share/nginx/www/resources;
        try_files $uri $uri/;
}
location / {
        rewrite ^(.*)$ https://$http_host$request_uri redirect;
        if ($http_host !~ "^www\."){
        rewrite ^(.*)$ https://www.$http_host$request_uri redirect;
        }
}

1 个答案:

答案 0 :(得分:0)

首先从您的位置/资源/中删除 try_files $ uri $ uri / 这一行。

您定义位置/资源块的方式要求网址请求路径以尾随 / 结尾
换句话说,请求

your-domain/resources 

无效,但

your-domain/resources/ 

会奏效。