当前位置: 首页 > news >正文

网站安全建设工作总结高端网站建设深圳

网站安全建设工作总结,高端网站建设深圳,西安市建设工程信息,万户网站做的怎样问题 在浏览器地址栏敲入url访问静态资源目录时,发现默认跳转到了http协议的地址 如上图所示,客户端https请求先到达API网关,然后网关将请求通过http协议转发到静态资源服务器。 调出浏览器发现客户端发送的https请求收到了一个301状态码的响…

问题

在浏览器地址栏敲入url访问静态资源目录时,发现默认跳转到了http协议的地址

如上图所示,客户端https请求先到达API网关,然后网关将请求通过http协议转发到静态资源服务器。

调出浏览器发现客户端发送的https请求收到了一个301状态码的响应,并且响应头中的Location字段便是跳转到的http协议的地址。

原因分析

HTTP协议中3xx开头的状态响应码都是表示重定向的响应。根据RFC的定义:

301 Moved Permanently

302 Found

303 See Other

307 Temporary Redirect

301是永久重定向。如果使用Nginx作为HTTP服务器,那么当用户输入一个不存在的地址之后,基本上会有两种情况:

1.返回404状态码,

2.返回301状态码和重定向地址。

404 Not Found不做讨论,只说下301 Moved Permanently的处理过程。

首先需要明确的问题是,301重定向在什么情况下会被触发呢?

答案是:

Nginx负责设置301 Moved Permanently状态码。但nginx.conf控制Nginx如何处理301 Moved Permanently状态码! 换句话说,要不要进行页面重定向,和怎么重定向,完全是用户配置的结果! Nginx主动设置301 Moved Permanently状态码只有一种情况,当用户在浏览器输入了一个url地址,末尾部分是一个文件目录且不以斜杠”/“结尾,比如 “www.test.com/index” 。 Nginx没有找到index这个文件,但发现了index是个目录。于是本次访问的返回状态码就会被设置成301 Moved Permanently。

一般情况下,我们会在nginx.conf中配置absolute_redirect ,server_name_in_redirect和port_in_redirect,以便到达个性化的重定向功能。其中absolute_redirect控制Location url的生成方式。

  • absolute_redirect设置成on,则生成绝对路径作为Location url。
  • absolute_redirect设置成off,则生成相对路径作为Location url。

只有absolute_redirect设置为on时,另外两个配置才会生效。

  • server_name_in_redirect为on时,使用Nginx配置文件中的server_name作为Location url中的host,否则使用用户请求url中的主机名作为host;
  • port_in_redirect设置为on时,使用nginx监听的端口来构造Location url,否则不设置port。

因此,上述三个配置项共同控制了Location url的结果,例如: “Location: http://server_name:port/index/”。 这三项配置的默认值是absolute_redirect=on,server_name_in_redirect=off,port_in_redirect=on。因此默认的Location url将是 “www.test.com/index/” 。

回到最开始的问题,https访问跳转到http的原因便可以梳理清楚了,作为静态资源服务器的Nginx设置了301状态码,并且由于它监听的是80端口和使用http协议,假设浏览器访问 “www.test.com/index” ,那么默认构造的Location url便是 “www.test.com/index/” ,并且API网关会直接将该响应写回给浏览器。浏览器收到301状态码的响应后,解析出响应头的Location值,然后进行跳转。过程如下图所示:

解决方案

最简便的解决方法便是,设置absolute_redirect为off,构造相对路径作为Location url,示例如下:

server {listen 80;# 设置相对url重定向absolute_redirect off;server_name localhost;charset utf-8;access_log logs/access.log main;error_log logs/error.log;large_client_header_buffers 4 16k;client_max_body_size 300m;client_body_buffer_size 128k;location / {index  index.html;root   /var/www/index/;}}

 这样以后,对于 "www.test.com/index" 的请求,Location响应头的值将等于 /index/。

http://www.yidumall.com/news/97264.html

相关文章:

  • 黑龙江省建设安全教育信息网常州网站建设优化
  • 网站上那些兼职网页怎么做关键词优化推广公司排名
  • 做网站会提供源代码吗教育培训网站大全
  • 湖南备案网站建设方案书so导航 抖音
  • 门户网站架构推销广告
  • 金湖县政府网站软环境效能建设企业推广平台有哪些
  • 论坛网站怎么做排名seo信息是什么
  • 光大成贤建设有限公司网站郑州seo优化哪家好
  • 尼尔的h版是那个网站做的河北电子商务seo
  • 网站开发答辩ppt优化大师下载安装免费
  • 南京网站开发南京乐识强免费网站制作
  • 黑山网站制作公司2023免费b站推广大全
  • 网络seo优化平台百度seo关键词排名查询
  • 武汉手机网站建设公司优化网站排名如何
  • wordpress 笔记插件下载win10优化
  • 大亚湾住建局网站 建设工程规划最近国内新闻
  • 深圳坪山网站制作公司多用户建站平台
  • 视频网站视频预览怎么做的四川seo推广方案
  • 视频网站怎么做外链seo优化销售话术
  • 网络营销方法的分析与应用优化大师优化项目有哪些
  • 北京中国建设部网站首页留号码的广告网站不需要验证码
  • wordpress html5 app海口网站关键词优化
  • 上海网站制作哪家奿360优化大师官方最新
  • 自己做的网站本地虚拟上传雅虎搜索引擎入口
  • 门业网站模板下载查关键词热度的网站
  • 网站建设属于软件开发网站建设网站
  • 大神自己做的下载音乐的网站长沙关键词优化费用
  • ps做网站框架搭建爱战网关键词挖掘查询工具
  • 游戏网站设计百度竞价什么意思
  • 蔡家坡网站开发百度浏览器网址链接