关于localhost访问特别快而nginx配置代理后转发特别慢的解决
关于localhost访问特别快而nginx配置代理后转发特别慢的解决
- 背景
- 解决过程
- 后续
背景
本地启动一个web应用,在采用localhost:port的方式访问的时候特别流畅,因为访问其它资源涉及到跨域问题所以采用nginx配置代理,结果采用nginx代理后网页有几个但不是全部的静态资源加载特别慢,最终可能会引发504网关超时的问题。
解决过程
定位肯定是nginx的问题,查看nginx日志发现,正常的静态资源的请求链接会直接代理到127.0.0.1,而不正常的会代理到[::1]及127.0.0.1两个,先怀疑是多网卡的问题,把其它虚拟网卡关掉后问题仍然存在。
看下我的nginx的配置:
最终在我们组大神(军神)的猜测下是不是localhost出现的问题,换成ip:127.0.0.1。卧槽,果然变得无比流畅了。
猜测有可能是给路由到了ipv6的localhost上去,不知道触发原因是什么,当Proxy_To [::1]:8161,127.0.0.1:8181时,因为[::1]:8161得不到请求返回,结果一分钟超时后转而代理到127.0.0.1:8181得到返回,这就是造成某些静态资源一分钟后请求才能到达服务器的原因。所以以后nginx配置代理时尽量用ip替代域名!!!至于具体原因以后明白了再补充。
后续
之前只是找到了如何解决的方法,今天在配置host文件时候发现之前配置的好几个域名都不能用了。查找了下发现在host文件中一行127.0.0.1 对应的后面几个域名都无法访问,前面几个可以,推测host文件对于一行ip解析的域名个数是不是有限制。后来在军神的查找下(https://superuser.com/questions/932112/is-there-a-maxium-number-of-hostname-aliases-per-line-in-a-windows-hosts-file#answer-932113)说明一个ip一行只能最多对应9个域名,但是自己在测试时候发现最多可以对应10个其实。
然后发现自己的localhost正好位于十个之后,所以此时我ping localhost发现解析到了::1的地址。原因是,首先查找ipv4的localhost,因为我的配置位于十个之后,所以无法解析,host文件中查找不到localhost对应的ipv4的地址,所以去找ipv6的地址,localhost就被默认解析成了::1。
上面的环境都是在win7之下,但是在win10上ping localhost发现也是解析到::1(哪怕host文件中配置了单行的解析127.0.0.1 localhost)。终究原因是win10默认是先采用ipv6的解析(优先级高),所以在win10下ping localhost会先解析到::1。解决方法是修改win10下默认的解决host策略,可以参考:https://blog.csdn.net/ambertian/article/details/70238020
关于localhost访问特别快而nginx配置代理后转发特别慢的解决相关推荐
- iPhone手动配置代理后无法下载Charles证书解决办法以及unknown文件
关于Charles的配置可以看这位大佬的帖子https://blog.csdn.net/Yuki1127918/article/details/122759610 我是按着这上面的步骤配置的,但过程中 ...
- Nginx配置报错unknown directive echo的解决
Nginx配置报错unknown directive "echo"的解决 实际上,Nginx并没有内置echo这个指令,所以你贸然使用时,自然会提示说无法识别的指令.它是由agen ...
- nginx配置代理udp
nginx配置代理udp nginx配置代理udp 1.配置nginx主配置文件 2.创建udp新配置文件 3.检查配置文件 4.重新加载配种文件 5.查看端口是否被监听 nginx配置代理udp 1 ...
- 【Fiddler 问题】解决关于Fiddler 抓包中,手机网络配置代理后,无法上网
[Fiddler 问题]解决关于Fiddler 抓包中,手机网络配置代理后,无法上网 一.在注册表添加文件 二.配置 FiddlerScript rule 一.在注册表添加文件 1.使用 window ...
- mitmproxy配置代理后 APP连接不到网络 XPosed安装
本文仅供学习交流使用,如侵立删! mitmproxy配置代理后 APP连接不到网络 配置mitmproxy代理后,有些APP会出现连接不到网络的情况 原因:SSL证书问题 Android5.1系统版本 ...
- Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载
解决nginx反向代理后页面上的js/css文件无法加载 location ~ \.php$ {proxy_pass http://127.0.0.1:8000;include naproxy.con ...
- nginx无法访问index.html,ThinkPHP5 + nginx配置(index.php无法访问404)
下载ThinkPHP5后,在nginx下默认无法访问index.php, 假如文件系统路径是/home/www/ 创建项目php5后欢迎页访问路径是: http://xxxxx/home/www/ph ...
- nginx配置域名后的二级目录访问不同项目的配置
场景描述: 通过二级目录(虚拟目录,应用程序)的方式访问同一ip+端口的不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192.168.1 ...
- nginx配置重启后新域名及其访问不起作用
1.nginx配置2个server后 第一个域名1,访问第一个ip1:port1 第二个域名2,访问第二个ip1:port2 2.重启nginx后,使用第一个域名访问正常.使用第二个域名访问时,访问的 ...
最新文章
- Android图形---OpenGL(二)
- mysql包含哪几部分_sql语言包含哪些部分
- java 知乎面试题_面试题|Java基础17道常见面试题
- 图文详解CDC技术,看这一篇就够了!
- when is oData transaction data request sent for an xml view binding case
- 数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况
- JAVA入门级教学之(do...while循环)
- LOADRUNNER连接ORACLE数据库的方法
- python numpy 数组元素周围_Python numpy数组元素属性及访问
- (56)FPGA面试题-如果连线宽度不匹配怎么办?
- BAT脚本一键更新提交代码到线上
- ak和sk怎么认证 海康威视_JWT和HMAC(AK/SK)认证方式使用场景
- vijos1846 [NOIP2013] 华容道【最短路】
- 腾讯QQ空间登录的方法实现方式与验证过程分析
- mouseover 和 mouseenter
- 每秒浮点运算次数FLOPS
- bugku never_give_up file_get_contents()有php://input漏洞 eregi \x00绕过
- 娱乐,舰娘r建造公式【转】
- 第4章 数据的概括性度量
- 斩波稳定(自稳零)精密运算放大器
热门文章
- java毕业生设计宠物领养管理系统计算机源码+系统+mysql+调试部署+lw
- Dropbox一款很实用的个人文件同步利器
- ONES 通过 CMMI 3 级评估认证
- 抖音爆款小游戏《我飞刀玩得贼6》性能优化案例分享
- Java实现文件拷贝,以及修改文件扩展名
- c语言 1累乘至100,C语言1乘到100怎么编写
- 烤仔星选·newsletter | 简析无常损失(Impermanent Loss)
- python编程 迷你世界_迷你世界迷你编程下载
- Centos7.9最小化安装与初始化环境配置
- python元组拆包