【问题标题】:Nginx v1.14.2 -- too many redirectsNginx v1.14.2——重定向太多
【发布时间】:2019-03-12 11:02:58
【问题描述】:

在我有限的 Nginx 经验中,当我在一个域上部署多个 WEB 项目时,我得到了太多的重定向。

我想使用一个“位置”来匹配多个项目。

文件路径:/mnt/vue/web/mnt/vue/admin/mnt/page/web

当我访问https://${domain}/page/single时,这是错误的。它重定向到https://${domain}/page/single/index.html/index.html/index.html/...

当我访问https://${domain}/vue/web时,就可以了。

我已经尝试了多种变体,但似乎都不起作用。有任何想法吗?提前致谢。

这是我的 Nginx 配置文件:

server {
    listen       443 http2;
    server_name  ${domain};

    ssl on;
    ssl_certificate   /etc/nginx/conf.d/cert/web/web.pem;
    ssl_certificate_key  /etc/nginx/conf.d/cert/web/web.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # wechat verify
    root /mnt/wechat;

    # for vue h5-wechat
    location ~ /(.*)/web {
        root /mnt;
        try_files $uri $uri/ /$1/web/index.html =404;
    }

    # for vue admin-web
    location ~ /(.*)/admin {
        root /mnt;
        try_files $uri $uri/ /$1/admin/index.html =404;
    }

    # for api
    location ~ /(.*)/api/(.*)$ {
        proxy_pass http://172.16.184.254:$1;
        rewrite /(.*)/api/(.*)$ /$2 break;
    }

    # for single pages  !!!!!  Where the problem occurred.
    location ~ /(.*)/single/ {
        alias /mnt/$1/web/;
        index index.html;
    }

    # for cache
    location ~ /(css|img|js|fonts|image)/ {
        add_header Cache-Control "public, max-age=300";
    }

    location /files {
        rewrite /files/(.*)$ /$1 break;
        proxy_pass https://172.16.92.152;
    }

}
server {
   listen 80;
   server_name ${domain};
   return 301 https://$server_name$request_uri;
   #rewrite ^(.*)$  https://$host$1 permanent;
}

【问题讨论】:

    标签: web nginx


    【解决方案1】:

    正则表达式 location 块中使用alias,您需要捕获整个URI。详情请见this document

    例如:

    location ~ ^/(.*)/single/(.*)$ {
        alias /mnt/$1/web/$2;
        index index.html;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      相关资源
      最近更新 更多