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

这篇具有很好参考价值的文章主要介绍了nginx重定向问题解决(rewrite or internal redirection cycle)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

错误日志和配置文件

访问日志文件

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配置文件内容文章来源地址https://www.toymoban.com/news/detail-755760.html

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)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 重定向(Redirect)

    重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。 我们在网站建设中,时常会遇到需要网页重定向的情况: 1.网站调整(如改变网页目录结构); 2.网页

    2023年04月08日
    浏览(44)
  • location模块与rewrite重定向

    目录 location 常用的nginx正则表达式 URI location分类 location常用的匹配规则 location优先级 location实例说明 优先级总结 在实际网站中使用的匹配规则至少有三个匹配规则 rewrite rewrite执行顺序 nginx的内置变量 ^:匹配输入字符串的起始位置 $:匹配输入字符串的结束位置 *:匹配前面

    2024年02月13日
    浏览(35)
  • 【问题】‘git‘ is not recognized as an internal or external command, operable program or batch file.

    如果未安装\\\"git\\\",则需要安装git,安装时选择\\\"从Windows命令提示符使用Git\\\"选项. 如果安装了\\\"git\\\",但仍然会出现\\\"git未被识别为内部或外部命令\\\"错误,则需要将PATH变量设置为指向git可执行文件.为此,请按照以下步骤操作: 打开我的电脑,右键单击并选择属性 单击\\\"高级系统设置\\\" 单击\\\"环

    2024年01月16日
    浏览(38)
  • Nginx处理302重定向端口丢失问题

    业务部署于Linux虚拟机中,域名解析到公网ip,公网ip的非标准端口映射虚机的标准端口。由于种种原因无法使用公网标准端口(80、443),只能使用非标准端口,公网端口8050到虚机80、公网端口8051到虚机443。 虚机内部通过Nginx当做静态资源服务器,监听80、443端口,而在虚机

    2024年02月16日
    浏览(39)
  • 出现 “‘mysql’ is not recognized as an internal or external command, operable program or batch file解决方法

    在 Windows 系统的 DOS 窗口通过命令行的方式登录 MySQL,出现 “‘mysql’ is not recognized as an internal or external command, operable program or batch file” 的提示 意味着系统无法识别或找不到 MySQL 的可执行文件 。这可能是由于以下几个原因导致的: MySQL 未正确安装:确保 MySQL 已正确安装并

    2024年02月07日
    浏览(52)
  • Nginx将http重定向到https,一直提示重定向次数过多(已解决)

    先贴一下nginx的配置 return和rewrite都已经试过了,都是多次重定向导致无法进入页面 后续在https区域中将连接后端地址的api区域复制过来后,再加上下方代码完美解决 #将所有HTTP请求通过rewrite指令重定向到HTTPS。 rewrite ^(.*)$ https://$host$1;

    2024年02月19日
    浏览(52)
  • Nginx Proxy Manager申请证书出现Internal Error的解决方法

    这是2.9.19的bug,退回到2.9.18就没问题了。 附上安装Nginx Proxy Manager中文版的docker-compose.yml文件

    2024年02月15日
    浏览(51)
  • 【看表情包学Linux】文件描述符 | 重定向 Redirection | dup2 函数 | 缓冲区的理解 (Cache)

       🤣  爆笑 教程  👉 《看表情包学Linux》👈   猛戳订阅     🔥 💭 写在前面: 在上一章中,我们已经把 fd 的基本原理搞清楚了。本章我们将开始探索 fd 的应用特征,探索 文件描述符的分配原则。讲解重定向,上一章是如何使用 fflush 把内容变出来的,介绍 dup2 函数,

    2023年04月25日
    浏览(57)
  • nginx rewrite 用法,用rewrite去除URL中的特定参数

    日常服务中经常会用Nginx做一层代理转发,把Nginx当做前置机 比如,以下配置: 这里的rewrite 就是为了去除URL中的/apis,实际的后端api中是没有这个参数的,但是为了做到在Nginx转发请求,前端需要加上这个参数,以便于区别 比如前端的请求地址是 那么实际上经过Nginx转发后请求

    2024年02月05日
    浏览(41)
  • Nginx重写功能rewrite

    目录 一、Rewrite简单介绍 1、Rewrite的概述 2、Rewrite跳转场景 3、URI、URL、URN 4、Rewrite跳转实现 5、Rewrite实际场景  6、Nginx正则表达式 7、Rewrite执行顺序 二、location简单介绍 1、location的分类 2、location 常用的匹配规则 3、location的优先级 4、location示例说明 5、实际网站使用中,至

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包