不知专业名词怎么叫,举个例子吧。 例如我的网站是:www.abc.com 想要的用户访问: user1.abc.com ,实际访问的是 www.abc.com/u?name=user1 user2.abc.com ,实际访问的是 www.abc.com/u?name=user2
还有,希望用户浏览器的地址显示还是 user1.abc.com ,只是 nginx 做处理。 不知这样的效果有没有解决方案,大家有没有做过类似的。
1
sholmesian 2018-08-07 16:26:31 +08:00 via iPhone
用定义变量的泛解析,参考: https://holmesian.org/Nginx_resolver
假设你的后端为 localhost:5555 server { listen 80; server_name ~^(.*).abc.com$; set $key $1; location /{ proxy_pass http://localhost:5555/u?name=$key; } } |
2
KuroNekoFan 2018-08-07 16:36:09 +08:00
proxy_pass
|
3
txwd OP @sholmesian 谢谢,我试试。
|
4
txwd OP @sholmesian
server { listen 8007; server_name www.abc.com; #set $key $1; location / { root C:/nginx/web3; index index.html index.htm; #proxy_set_header Host $host:8008; proxy_pass http://www.baidu.com; } } 不行啊,这样写直接跳到百度去了 |
5
sholmesian 2018-08-08 22:27:22 +08:00
@txwd 增加 proxy_redirect off;
|