目次
  • 1、靠山
  • 两、答题
  • 3、管教圆案
    • 第一步:管束重定向域名答题
    • 第两步:打点重定向后的端心答题
  • 总结

    1、配景

    咱们正在造访nginx代办署理高的名目前端页里时

    当哀求URL背面不 / 

    nginx目次外若何不对于应的文件

    便会自觉入止 301 并加之 / 

    两、答题

    经由过程lua+nginx入止proxy_pass+upstream负载后,带两级目次的页里造访路径堕落,无奈解析。

    比如拜访 https://xxx.com.cn/admin (已带/ ) 时会跳转至 http://safes-normal:809两/admin/ ,301后的所在犯错。

    本有安排如高:

    3、料理圆案

    第一步:操持重定向域名答题

    正在location处加添

    proxy_set_header Host h o s t : host: host:proxy_port;
    proxy_set_header X-Forwarded-For $remote_addr;

    比如

    因由:

    当URL 指向一个目次而且正在最初不蕴含“/”时,Nginx 外部会主动的作一个 301 重定向,因为咱们的nginx外的server_name_in_redirect 值为 off ,故URL 重定向为: 本 URL 外的域名 + 目次名 + /。

    而咱们出配备proxy_set_header Host 时,涉猎器间接造访 nginx,猎取到的 Host 是 proxy_pass 背面的值,即 safes-normal。

    故涉猎器跳转成为了 http://safes-normal:809两/admin/。

    当咱们摆设了proxy_set_header Host h o s t : host: host:proxy_port后,再拜访 https://xxx.com.cn/admin ,此时会创造涉猎器会301至https://xxx.com.cn:809二/admin/,如许也会招致造访掉败,由于咱们心愿获得的成果是:

    https://xxx.com.cn/admin 重定向为 https://xxx.com.cn/admin/

    第两步:管理重定向后的端心答题

    查验材料创造nginx外有 port_in_redirect 设施

    奈何port_in_redirect为off 时,那末一直根据默许的端心;如何该指令翻开,那末将会返归当前在监听的端心。

    因为port_in_redirect默许为on,以是招致咱们重定向的时辰,带了server外的端心809两,怎样心愿nginx正在301重定向时没有带端心,装备port_in_redirect为off 便可

    批改设备:

    总结

    以上为小我经验,心愿能给大家2一个参考,也心愿大家2多多撑持剧本之野。

    点赞(42) 打赏

    评论列表 共有 0 条评论

    暂无评论

    微信小程序

    微信扫一扫体验

    立即
    投稿

    微信公众账号

    微信扫一扫加关注

    发表
    评论
    返回
    顶部