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

 更新时间:2023年11月06日 09:56:17   作者:缘友一世  
本文主要介绍了nginx重定向解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

错误日志和配置文件

访问日志文件

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

到此这篇关于nginx重定向解决(rewrite or internal redirection cycle)的文章就介绍到这了,更多相关nginx重定向 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • nginx部署多个前端项目详细步骤

    nginx部署多个前端项目详细步骤

    最近一台服务器要配置多个前端项目,当然前后端分离就需要nginx来配置了,下面这篇文章主要给大家介绍了关于nginx部署多个前端项目的详细步骤,需要的朋友可以参考下
    2023-10-10
  • Nginx实现不同域名输出不同的服务器头信息方法

    Nginx实现不同域名输出不同的服务器头信息方法

    这篇文章主要介绍了Nginx实现不同域名输出不同的服务器头信息方法,本文使用了一个ngx_headers_more模块实现这个特殊需求,需要的朋友可以参考下
    2015-02-02
  • 使用Nginx实现根据 IP 匹配指定 URL

    使用Nginx实现根据 IP 匹配指定 URL

    最近的一个项目,需要特定的IP访问某专题页面的时候跳转到网站首页,思考了下,直接使用NGINX实现,分享给大家。
    2014-09-09
  • Nginx 中的地址重写功能(使用方法)

    Nginx 中的地址重写功能(使用方法)

    Nginx 地址重写(rewrite)是 Nginx 服务器中一个非常实用的功能,它可以帮助我们实现 URL 的重定向、隐藏真实文件路径、优化网站结构等,本文将详细介绍 Nginx 地址重写的相关知识和使用方法,感兴趣的朋友一起看看吧
    2024-01-01
  • Nginx配置文件详解

    Nginx配置文件详解

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。这篇文章主要介绍了Nginx配置详解,需要的朋友可以参考下
    2017-05-05
  • 升级nginx以支持http2的方法

    升级nginx以支持http2的方法

    本篇文章主要介绍了升级nginx以支持http2的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 部署前后端分离式nginx配置的完整步骤

    部署前后端分离式nginx配置的完整步骤

    这篇文章主要给大家介绍了关于如何部署前后端分离式nginx配置的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • nginx启动服务提示98: Address already in use错误的解决

    nginx启动服务提示98: Address already in use错误的解决

    这篇文章主要给大家介绍了nginx启动服务提示98: Address already in use错误的解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • nginx访问控制的两种方法

    nginx访问控制的两种方法

    这篇文章主要介绍了关于nginx访问控制的两种方法,一种是基于Basic Auth认证,另一种是基于IP的访问控制,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Nginx配置SSL证书出错解决方案

    Nginx配置SSL证书出错解决方案

    这篇文章主要介绍了Nginx配置SSL证书出错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论