当前位置:首页 » 《随便一记》 » 正文

nginx重定向问题解决(rewrite or internal redirection cycle)

22 人参与  2024年03月30日 15:05  分类 : 《随便一记》  评论

点击全文阅读


文章目录

错误日志和配置文件问题分析

错误日志和配置文件

访问日志文件

2023/10/15 07:13:48 [error] 30#30: *1 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 123.55.159.97, server: server_name, request: "GET / HTTP/1.1", host: "xxx.xxx.xxx.xxx"123.55.159.97 - - [15/Oct/2023:07:13:48 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46"123.55.159.97 - - [15/Oct/2023:07:13:48 +0000] "GET /favicon.ico HTTP/1.1" 500 579 "http:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.46"2023/10/15 07:13:48 [error] 30#30: *2 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 123.55.159.97, server: server_name, request: "GET /favicon.ico HTTP/1.1", host: "xxx.xxx.xxx.xxx", referrer: "http://xxx.xxx.xxx.xxx/"

nginx.conf配置文件内容

events {worker_connections  1024;}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;client_max_body_size     50m;client_body_buffer_size  10m; client_header_timeout    1m;client_body_timeout      1m;gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_comp_level  4;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;server {listen       80;server_name  my_server_name;    location / {        root   /usr/local/xxx_vue;        index  index.html index.htm;         try_files $uri $uri/ /index.html;    }location ^~ /api/ {        proxy_pass http://xxx.xxx.xxx.xxx:8080/;        proxy_set_header   Host             $host;        proxy_set_header   X-Real-IP        $remote_addr;        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;    }}}

问题分析

根据提供的访问日志和nginx.conf配置文件分析,是循环重定向的问题。配置中,location / 块使用了 try_files $uri $uri/ /index.html; 会导致导致在尝试访问根目录时发生重定向循环。修改:添加一个新的location=/index块,直接提供 /index.html 而不进行重定向。
server {    listen 80;    server_name my_server_name;    location / {        root /usr/local/xxx_vue;        index index.html index.htm;        try_files $uri $uri/ /index.html;    }    location = /index.html {        root /usr/local/xxx_vue;    }    location ^~ /api/ {        proxy_pass http://xxx.xxx.xxx.xxx:8080/;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    }}
使用以下命令重新加载Nginx,即可生效
sudo nginx -s reload

点击全文阅读


本文链接:http://zhangshiyu.com/post/88166.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1