请教各位大佬 如何设置 nginx 可使不存在的二级地址跳转到存在的二级地址上

2020-09-24 01:53:19 +08:00
 LOVOQ

请教各位大佬 如何设置 nginx 可使不存在的二级地址跳转到存在的二级地址上

比如说 我在 dns 配置了 1,2,和*.110.com 的 A 记录。实际配置了页面的有 1 跟 2 的 110.com ,我想让用户键入 3.110.com 或其他可能性的*.110.com 都能跳转回 1.110.com

请问下该如何设置 百分感谢!

1959 次点击
所在节点    NGINX
7 条回复
cominghome
2020-09-24 08:42:30 +08:00
server_name 是可以使用正则的,所以这个需求应该很好实现,加一个这样的 server 就行

```
server {
listen 80;
server_name *.110.com;

return 301 http://1.110.com/$request_uri;
}
```

但是不清楚对[1|2].110.com 有没有影响,自测一下
ragnaroks
2020-09-24 18:04:49 +08:00
需要 lua 等拓展配合,取到第三级字符串做匹配,如果不是"1",则显性跳转,否则继续
LOVOQ
2020-09-25 02:30:36 +08:00
@cominghome 回头我尝试一下回复效果,感谢答疑。

@ragnaroks 有点门槛,还是希望能通过通配符解决 2333 。感谢答疑。
LOVOQ
2020-09-25 02:44:23 +08:00
@cominghome 8 行 跳不了 蛤蛤蛤还是停留在原地址 比如 aaa.110.com 还是原地址。而且由于我开了 404 和单站 https 所以直接提示证书无效。
cominghome
2020-09-25 08:06:31 +08:00
@LOVOQ 我这测试是好的
demo.conf
```
server {
listen 80;
server_name *.110.com;

return 301 http://1.110.com$request_uri;
}

server {
listen 80;
server_name 1.110.com;

location / {
default_type text/plain;
return 200 "Hello world..";
}

}
```
host
```
127.0.0.1 a.110.com b.110.com 1.110.com
```

访问 a/b.110.com 都能 301 到 1.110.com
LOVOQ
2020-09-27 10:39:27 +08:00
@cominghome 晚些实装后回复 感谢赐教 辛苦了
LOVOQ
2020-10-01 04:47:46 +08:00
@cominghome 我弄明白我缺啥了。。。我缺一个通配符证书。。。哈哈哈哈 辛苦大佬答疑解惑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/709947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX