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

能力建设和继续教育中心网站杭州网站网站建设

能力建设和继续教育中心网站,杭州网站网站建设,个人兴趣网站设计,邯郸建网站公司问题 在浏览器地址栏敲入url访问静态资源目录时#xff0c;发现默认跳转到了http协议的地址 如上图所示#xff0c;客户端https请求先到达API网关#xff0c;然后网关将请求通过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中的主机名作为hostport_in_redirect设置为on时使用nginx监听的端口来构造Location url否则不设置port。 因此上述三个配置项共同控制了Location url的结果例如 “Location: http://server_name:port/index/”。 这三项配置的默认值是absolute_redirectonserver_name_in_redirectoffport_in_redirecton。因此默认的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.hkea.cn/news/14584253/

相关文章:

  • 如何利用国外网站开发客户wordpress 首页文章列表
  • 哈尔滨百度网站排名公司做网站费用记到哪个科目
  • 网站建设要如何选择网站代码结构
  • 安卓手机做网站服务器吗平面设计公司经营范围
  • 网站 详细设计郑州知名网站建设公司排名
  • 普通电脑怎么做网站服务器网站建设实训心得及收获
  • 苏州建设职业技术学院招聘信息网站tp做网站签到功能
  • 网站建设案例分享网站开发简单吗
  • 肯尼亚网站域名手机视频制作软件最火
  • 模板和网站是一体的吗php网站后台开发
  • 搞网站比较好的网页模板网站
  • 广州网站开发制作内网网站建设流程
  • 东莞网站推广定制公司广州网站制作后缀
  • 手机新手学做网站买国外域名 网站
  • 桂林旅游网站建设外贸网站建设 佛山
  • 网站原创性百度官方下载安装
  • wordpress主题 mohtml系统优化是什么意思
  • 设计师一般用什么网站花卉公司网页设计
  • c 网站开发视频教程 高清西安网站建设
  • 廊坊文安建设局网站三合一网站开发
  • 河北邯郸做网站的公司php做网站答辩问题
  • wordpress模板展示网站零陵网站建设
  • 什么网站有题目做wordpress免费 360插件下载
  • dedecms网站源码网站服务器怎么看是哪个厂家的
  • 如何做古诗词网站用vue-cli做的网站
  • 去成都旅游攻略怎么做北京优化词网站
  • 济源建设网站php做原生直播网站
  • 眉山手机网站建设做网站联系方式
  • 大连企业公司网站建设一份完整的个人简历模板
  • 做影视网站用什么网盘最好国外招工信息最新招聘信息