问题:nginx 如何处理301 ?

2017-09-01  本文已影响0人  shanggl

机器因为无法解决二级域名+端口的问题(不同应用放在不同的端口上)
在原来的80端口上增加了一个Nginx
配置如下:

server {
        listen       80;
        server_name  www.kuaiyitong257.com;
        location  ~/    {
        proxy_pass  http://127.0.0.1:8080;
        proxy_set_header    Host    $host;
        proxy_set_header    X-Real-IP   $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    Cookie $http_cookie;

    }
     location /lionwx/  {
        proxy_pass http://127.0.0.1:9080/lionwx/;
        proxy_set_header    Host    $host;
        proxy_set_header    X-Real-IP   $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        Cookie $http_cookie;
     }

理想的状态是 访问 / 到转到8080端口,访问 /lionwx/转到9080端口,但是在实际使用中,虽然直接请求页面没有问题,但是在直接访问空域名的时候出现了无法打开页面的问题.

telnet 试了试,Nginx有返回,但是返回的是8080端口的默认页面,如:

shanggl@shanggl-ThinkPad-T430:~$ telnet www.kuaiyitong257.com 80
Trying 114.115.141.59...
Connected to www.kuaiyitong257.com.
Escape character is '^]'.
GET /
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.kuaiyitong257.com:8080/Default.aspx">here</a>.</h2>
</body></html>
Connection closed by foreign host.

在8080 端口的web服务器的默认页面,给自动加上了8080端口,这个问题咋处理?

解决办法:
location 在配置的时候,至少要配置三个

location = /{
proxy_pass http://127.0.0.1:8080/
}
location /{
}
location /other/{
}
尤其注意第一个,为啥配置上之后返回的就没有8080 了这个我还没理解清楚

参考:
https://segmentfault.com/a/1190000002797606

上一篇 下一篇

猜你喜欢

热点阅读