本文最后更新于7 天前,其中的信息可能已经过时,如有错误请发送邮件到[email protected]
说起来这个东西有点抽象,我有很多域名,希望可以统一跳转到我博客,并为一些特殊的域名跳转到指定目标
第一个需求其实可以直接用cf的规则跳转,没必要单独拿一台服务器来做。但每个域名都要写规则还是有些繁琐的,并且cf可达性有点魔幻。
第二项需求是因为需要把根域跳转到https+www,针对cdn来说,有一些cdn套餐规定域名数量,常见做法都是同时绑定根域名在cdn层或者源站做跳转,但这样会浪费一个域名槽位
综合上面两点,刚好手上有很多没啥用的小鸡,便写了一个简单的nginx配置实现这个功能
安装nginx:
apt update && apt install nginx -y
编写配置(直接在主配置):
vim /etc/nginx/nginx/nginx.conf
其中文件上面的全局配置不用动,修改http块
内容为
http {
# 特殊域名跳转表
map $host $redirect_target {
default https://www.yunsen2025.top;
web1.com https://www.web1.com;
# 在这里继续加: domain.com https://www.domain.com;
}
server {
listen 80 default_server;
server_name _;
# 自定义响应头
add_header Hello "YunsenZou" always;
# 永久重定向
return 301 $redirect_target$request_uri;
}
}
其中default
后面的便是直接访问的跳转,下面的便是特殊域名跳转,方便指定301目标