Nginx(四) absolute_redirect、server_name_in_redirect、port_in_redirect 请求重定向指令组合测试

news2024/11/24 12:30:56

        本篇文章主要用来测试absolute_redirect、server_name_in_redirect和port_in_redirect三个指令对Nginx请求重定向的影响,Nginx配置详解请参考另一篇文章 Nginx(三) 配置文件详解 

        接下来,在Chrome无痕模式下进行测试。 

测试1:absolute_redirect=on; server_name_in_redirect off; port_in_redirect on; #默认配置

absolute_redirect on;
server_name_in_redirect off;
port_in_redirect on;

server {
    listen 8688;
    server_name www.reade*******.cn;

    root pages;

    location /s {
        return 301 /test.html;
    }

    location / {
        index  index.html index.htm;
    }
}

请求地址: http://www.47.**.**.80.cn:8688/s

请求结果:Location: http://47.**.**.80:8688/test.html

Location = 原始请求Host:Nginx监听端口/uri

客户端接收到301 Code后,以Location返回值为全新的URL重新发送一次请求。

服务端告诉客户端,我搬家了,这是新家的地址Location,以后按照这个新地址找我。

测试2absolute_redirect=off; server_name_in_redirect off; port_in_redirect on;

请求地址: http://www.reade*******.cn:8688/s

请求结果:Location: /test.html

客户端接收到301 Code后,以Location返回值为新的URI重新发送一次请求,Host和port不变。

服务端告诉客户端,我家前门坏了,你从后门进来,后门在这Location。

        测试1、2最后重新发起请求的地址都是 http://www.reade*******.cn:8688/test.html,虽然结果相同,但根本逻辑还是不一样的。

 测试3:absolute_redirect=on; server_name_in_redirect on; port_in_redirect on;

修改配置文件server_name为IP。

absolute_redirect on;
server_name_in_redirect on;
port_in_redirect on;

server {
    listen 8688;
    server_name 47.**.**.80;
    root pages;
    location /s {
        return 301 /test.html;
    }
    location / {
        index  index.html index.htm;
    }
}

请求地址: http://www.reade*******.cn:8688/s

请求结果:Location: http://47.**.**.80:8688/test.html

非80/443端口:Location=server_name:Nginx监听端口/uri

Nginx将原请求中的Host替换为server_name,客户端接收到301 Code后,以Location返回值为全新的URL重新发送一次请求。

测试4:absolute_redirect=on; server_name_in_redirect on; port_in_redirect off;

请求地址: http://www.reade*******.cn:8688/s

请求结果:Location: http://47.**.**.80/test.html

Location=server_name/uri

Nginx此时返回的Location中没有port,未将监听的port添加的Host后。

测试5:absolute_redirect=on; server_name_in_redirect off; port_in_redirect off;

请求地址: http://www.reade*******.cn:8688/s

请求结果:Location: http://www.reade*******.cn/test.html

Location=原始请求Host/uri

Host没有替换,请求地址中没有port。

        经过上面的5个测试,我们可以更深刻的理解 absolute_redirect、server_name_in_redirect、port_in_redirect这三个指令的作用。另外,需要特殊说明下,当我们访问80或443端口时,无论port_in_redirect 是否开启,Location中都不会有port,这应该算是第6个测试,所以上面三个参数无论如何配置,一共是六种重定向结果。更详细的讲解请参考这篇文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1217752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yolov5模型代码怎么修改

yaml配置文件 深度乘积因子 宽度乘积因子 所有版本只有这两个参数的不同,s m l x逐渐加宽加深 各种类型层参数对照 backbone里的各层,在这里解析,只需要改.yaml里的各层参数就能控制网络结构 修改网络结构 第一步:把新加的模块…

用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

参考链接 本人学习使用,侵权删谢谢。用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系 CUDA CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型&…

在屏幕上打印杨辉三角

我们先来看看杨辉三角长什么样的: 我们一起来看一看它的规则: 1. 每一行的第一个数字和最后一个数字都是1 2. 从第三行开始,中间的数字和最后一个数字等于它上方两个数字之和 我们可以很好的发现下面的数字就是由该数字上面一行和上一列加上该数字的…

redis设置密码

首先到redis的下载目录下:运行 redis-cli 查看redis密码: config get requirepass 设置redis密码为123456: config set requirepass 123456

SQL中的数据类型和规范化,助力数据存储优化

大家好,目前优化数据存储对于获得良好的性能始终至关重要,选择合适的数据类型并应用正确的规范化过程对于决定其性能至关重要。本文将介绍最重要和最常用的数据类型和规范化过程。 一、SQL中的数据类型 SQL中主要有两种数据类型:字符串和数…

【前沿学习】美国零信任架构发展现状与趋势研究

转自:美国零信任架构发展现状与趋势研究 摘要 为了应对日趋严峻的网络安全威胁,美国不断加大对零信任架构的研究和应用。自 2022 年以来,美国发布了多个零信任战略和体系架构文件,开展了多项零信任应用项目。在介绍美国零信任战略…

Numpy数组进阶_Python数据分析与可视化

Numpy数组进阶 Numpy的广播机制高级索引整数数组索引布尔索引花式索引 数组迭代 Numpy的广播机制 广播 (Broadcast) 是 numpy 对不同形状 (shape) 的数组,进行数值计算的方式。 对数组的算术运算通常在相应的元素上进行,当运算中的 2 个数组的形状不同时…

DNS1(Bind软件)

名词解释 1、DNS(Domain Name System) DNS即域名系统,它是一个分层的分布式数据库,存储着IP地址与主机名的映射 2、域和域名 域为一个标签,而有多个标签域构成的称为域名。例如hostname.example.com,其…

java接收前端easyui datagrid传递的数组参数

这篇文章分享一下怎么在easyui的datagrid刷新表格时,在后端java代码中接收datagrid传递的数组参数。 数组来源于技能的tagbox(标签框),tagbox和combobox的区别是tagbox可以选择多项。 标签框渲染的代码为 $("#skill_ids"…

分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果…

ubuntu 23.04从源码编译安装rocm运行tensorflow-rocm

因为ubuntu22.04的RDP不支持声音转发,所以下载了ubuntu23.04.但官方的rocm二进制包最高只支持ubuntu22.04,不支持ubuntu 23.04,只能自己从源码编译虽然有网友告诉我可以用docker运行rocm。但是我已经研究了好几天,沉没成本太多&am…

12v24v60v高校同步降压转换芯片推荐

12V/24V/60V 高校同步降压转换芯片推荐: 对于需要高效、稳定、低噪音的降压转换芯片,推荐使用WD5030E和WD5105。这两款芯片都是采用同步整流技术,具有高效率、低噪音、低功耗等优点,适用于各种电子设备。 WD5030E是一款高效率…

一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维一体化

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFUL风格的Web服务,是非常流行的API表达工具。 Swagger能够自动生成完善的 RESTFUL AP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。 Prometheus 是一个开源的服务监控系统和时…

Microsoft发布了一份关于其产品安全修复的 11 月报告。

👾 平均每天有 50 多个漏洞被发现,其中一些会立即被网络犯罪分子利用。我们把那些现在很受网络犯罪分子欢迎,或者根据我们的预测,在不久的将来可能会被大量利用的漏洞称为趋势漏洞。 在攻击者开始利用这些漏洞之前 12 小时&#…

adb手机调试常用命令

查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery 查看分辨率 adb shell wm size 查看屏幕密度 adb shell wm density 查看显示屏参数 adb shell dumpsys window displays 查看android_id adb shell settings get secure android…

flutter web 中嵌入一个html

介绍 flutter web 支持使用 HtmlElementView嵌入html import dart:html; import dart:ui as ui; import package:flutter/cupertino.dart;class WebWidget extends StatelessWidget {const WebWidget({super.key});overrideWidget build(BuildContext context) {DivElement fr…

【二分法】

二分法可以在有序排列中&#xff0c;通过不断对半切割数据&#xff0c;提高数据查找效率。 lst [1,4,6,7,45,66,345,767,788,999] n 66 left 0 right len(lst)-1 while left < right: #边界&#xff0c;当右边比左边还小的时候退出循环 mid (left right)//2 …

vue2项目修改编译巨慢

前言&#xff1a;我们的一个vue项目在给新同事后他说编译贼慢&#xff0c;一个小修改项5分钟才能自动编译成功&#xff0c;我把项目放到新电脑上也巨慢&#xff0c;升级了nodejs好使了一些&#xff0c;但还是慢&#xff0c;最后引入webpack后巨快&#xff0c; 在项目的package…

大功率电源芯片WD5030L

电源管理芯片作为现代电子设备中最关键的元件之一&#xff0c;直接影响着设备的性能和效率。而大功率电源芯片作为电源管理芯片中的一种&#xff0c;其性能和应用领域更加广泛。本文将介绍一款具有宽VIN输入范围、高效率和多种优良性能的大功率电源芯片WD5030L&#xff0c;并探…

ubuntu20.04安装cv2

查看ubuntu的版本 cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE20.04 DISTRIB_CODENAMEfocal DISTRIB_DESCRIPTION"Ubuntu 20.04.3 LTS"更改镜像源 cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.listdeb http://mirr…