首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用Nginx代理总404?换个网关就好?罪魁祸首竟是这个Host头!

    回到开头的问题:当Nginx代理Tomcat时,配置里用了proxy_set_header Host $http_host(也就是把客户端的Host头原封不动传给Tomcat)。...Nginx里有3个容易混淆的变量:$http_host、$host、$proxy_host,分清它们,90%的代理问题都能解决。1....$http_host:客户端发啥,它就传啥(带端口)这个变量就是个“传声筒”,客户端请求头里的Host是啥,它就原样转发,包括端口号。...配置:原来的配置用了proxy_set_header Host $http_host,相当于告诉Tomcat“客户端认为你是nginx_url”,但Tomcat只认自己的真实地址(比如tomcat:8080...$host更稳妥(简化主机名);除非明确需要保留客户端原始Host(比如多租户按Host区分),否则别轻易用$http_host(容易带端口坑)。

    30410

    Nginx安装后第一个要改的配置…

    最近有朋友给我发来一个漏洞扫描报告,其中有一项是“Nginx头部攻击漏洞” ?...在绿盟的报告中,可以看到,头部攻击是指,http host header头中的HTTP_HOST不可靠,所以,如果后端开发代码中,通过类似PHP中的_SERVER["HTTP_HOST"]来获取host...信息,那可能获取到的不是自己站点的host信息,这里简单做个复现 环境: Nginx PHP Brupsuite 复现方法很简单,在Nginx中配置一个虚拟主机站点,用php-fpm处理php,在php...中写一小段代码,通过_SERVER['HTTP_HOST']获取host并打印,用Brupsuite篡改host信息,环境搭建信息这里就不多说了,直接看Brupsuite过程,PHP代码如下: ?...可以看到,已经无法访问 所以安装Nginx之后,一定要修改以上配置,防止恶意域名解析和HOST头部攻击

    97330

    通过Nginx反向代理,重定向链接地址

    Nginx概述 Nginx是一款轻量级的Web服务器和反向代理服务器。它的设计目标是高性能、高并发、低内存占用。...a-zA-Z0-9_]{2,11})"{ # 重定向到 share.html 页面,并在 URL 后面添加原始 URI return 301 $scheme://$http_host...其他变量 在上述脚本中,还用到了一些重要的变量,它们包括$scheme、$http_host和$1。 $scheme变量:该变量表示请求的协议类型,例如http或https。...$http_host变量:该变量表示请求的主机名和端口号,例如baidu.com。在上述脚本中,$http_host变量也被用于构造重定向URI时,以确保使用与原始请求相同的主机名和端口号。...总结 Nginx是一款高性能、高可扩展性的Web服务器和反向代理服务器。location指令和正则表达式是Nginx配置文件中常用的关键字,用于控制Nginx对请求的响应行为。

    2.7K20

    nginx反向代理中proxy_set_header 运维笔记

    一个不会变化的“Host”头请求字段可通过如下方式被传递: proxy_set_header Host $http_host; 然后,当字段不在请求头中就无法传递了,在这种情况下,可通过设置...的区别================ 在使用Nginx做反向代理的时候,proxy_set_header功能可以设置反向代理后的http header中的host,$http_host,$proxy_host...; proxy_set_header Connection close; 如果客户端发过来的请求的header中有’HOST’这个字段时, $http_host和$host都是原始的’HOST’字段...的值 当windows用户访问http://192.168.1.136:8080/proxy_path/index.html时 查看代理服务器和后端服务器的地址,可以发现$http_host对应的值为...: log_format main '$remote_addr "$http_x_real_ip" - $remote_user [$time_local] "$request" "$http_host

    19.6K80
    领券