【rewrite】如何在重定向之后浏览器输入栏中还是重定向之前的地址

来源:3-39 Nginx作为负载均衡服务_配置场景

慕粉1472658858

2018-07-17

http://img.mukewang.com/szimg/5b4d96710001bdf604600220.jpg

如何在浏览器输入栏中还是IP/xiehe   而不是www.baidu.com

写回答

2回答

Jeson

2018-07-19

不知道你拿百度测试的用意,但原因是这样的:

1、首先百度作了302跳转到https首页,也就是说你即使配置了proxy策略,但服务段返回的是302,这个时候,客户端的浏览器会重定向去请求百度。这是http协议的内容。你可以在浏览器抓包看下:

2、如果你是想测试让浏览器的地址保持不变,就不要拿百度测试,可以拿个后端没有作302的来测试,你可以拿我的博客地址来测试,配置大概如下:

    server {

        listen 8066;

        access_log  /var/log/nginx/test_proxy.access.log  main;

        location / {

            #proxy_pass http://127.0.0.1:8888/;

            #proxy_pass http://www.haieruplus.com:80;

            proxy_set_header Host www.haieruplus.com;

            proxy_pass http://103.254.190.49:80;

            include proxy_params;

        }

    }


然后用浏览器打开这个地址:http://39.104.191.141:8066/index.htm测试,测试前把浏览器缓存清理下


1
0

Jeson

2018-07-18

这样配置当然不行,rewrite配置作的是伪静态,并不会影响整体的访问路径。

如果你希望用户的浏览器url不变,建议采用代理模块proxy_pass来作反向代理。

0
1
慕粉1472658858
试了一下午,还望老师指点迷津,如何在输入IP/xiehe 跳转到百度首页,浏览器输入栏还是IP/xiehe??
2018-07-19
共1条回复

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程