机器因为无法解决二级域名+端口的问题(不同应用放在不同的端口上)
在原来的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 了这个我还没理解清楚