回答
收藏
分享
举报
Nginx反向代理路径中有问号、井号问题
提问于2020-09-28 09:40

浏览 11.9k

文章标签

问题描述:

想要通过代理转发路径到后台的服务器,但是路径有包含有问号和井号,问号的问题,通过$query_string可以解决,但是井号一直解决不了。

只带问号的路径:

http://192.168.113.138:10080/test_elap/?/id=544422

通过此配置解决:

location ~* /test_elap/ {
    proxy_pass http://192.168.113.125:680/?$query_string;
    index index.html;
}

服务器被访问路径:

GET /?/id=544422

以上为自己摸索的配置。

带井号的路径:

http://192.168.113.138:10080/test_elap/?#/id=544422

想实现效果:

GET /?#/id=544422

请问,可以通过什么配置解决嘞?

已修改于2023-03-13 18:58



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

URL必须符合规则,基于规则,/id=544422是fragment,而浏览器是不会将fragment发送给服务器的,因此所有广为使用的代理服务器都不会转发#后的fragment,Nginx的任何变量也取不到它,这更多是从web安全问题角度出发的。如果你确实想把#号传给上游,应当在请求端做URL编码,不把/id=544422当成fragment


赞同

1

回复举报

回答于2020-09-30 10:35



回复陶辉
回复
好的好的,谢谢,陶老师

0

回复举报

回答于2020-10-09 01:11



回复像雾像雨又像风
回复
提问者
像雾像雨又像风
这家伙很懒还未留下介绍~
3
文章
5
问答
0
粉丝
相关问答

对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。

   a. 软件负载均衡解决方案

  在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。

 b. 硬件负载均衡解决方案

  直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器。由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。 一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵,比如最常见的就是F5负载均衡器。

点赞 0
浏览 6.3k

1.19.1应该是支持ipv6的。需要编译的时候添加--with-ipv6 声明对ipv6的支持。具体可以参考下面的文章。

https://blog.csdn.net/shenxianfeng/article/details/72859830


点赞 0
浏览 6.3k

RFC规范上定义的options方法,可以用于获取所有支持的method方法。

然而,这实际上会带来web安全问题,黑客很容易扫描到web框架的漏洞,比如有些老框架还在支持trace方法。因此,waf防火墙大都会拒绝options方法。

点赞 0
浏览 4.3k