Nginx重定向将域名绑定到简书

简书个人主页的网址后缀是一串随机字串,不支持像Github那样个性化的后缀,难以记忆。正好手里有一个域名和一台阿里云小水管服务器,想着可以利用Nginx的重定向功能,实现访问一个二级域名重定向到简书个人主页的功能。

域名解析

我是在阿里云的万网下买的域名,其他的域名管理商的控制台都大同小异。首先添加二级域名,记录值填写云服务器的ip地址,点击确认。域名完成解析可能需要几分钟的时间。这里另外说一句,记录类型是支持显示URL转发和隐式转发的,但是要求转发的域名的提供商也是万网,GG。


添加域名解析记录

安装Nginx

Nginx官网上有详细的安装步骤,推荐是用官网源的安装方式,既文中的Installing a Prebuilt CentOS/RHEL Package from the Official NGINX Repository

  1. 配置nginx仓库信息
    登陆root账户(图方便-.-)

[root ~]# vim /etc/yum.repos.d/nginx.repo

  1. 添加如下配置
    我的centos主版本是7,其他版本按需修改,wq!保存退出。

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

  1. 更新yum源

yum update -y

  1. 安装Nginx

yum install nginx

配置Nginx

  1. 添加重定向配置
    默认安装下配置文件夹应该是在/etc/nginx/conf.d下面,如果找不到的话可以whereis nginx找一下相关路径下有conf.d的目录。
    找到配置文件夹后,直接修改默认配置文件

vim /etc/nginx/conf.d/default.conf

  1. 添加重定向服务
    注意,如果你也是用阿里云的话,记得安全配置组里开启80端口。
    server_name 是你的二技域名,多个域名用空格分隔。例如我这里一个绑定了简书的主页,一个绑定github的主页。
    return 后面是重定向的目标网址,也就是简书原本的个人主页。
server {
    listen       80;
    server_name jianshu.94hry.tech git.94hry.tech;
    if ($host = 'jianshu.94hry.tech'){
        return https://www.jianshu.com/u/de5f5d2331ee;
    }
    if ($host = 'git.94hry.tech'){
        return https://github.com/huangry999;
    }
}
  1. 启动nginx

nginx

更多nginx参数可以man nginx查看

测试

访问http://jianshu.94hry.tech,如果我的服务器没有被黑或者欠费的话,页面会重定向到我的主页。当然,浏览器的url也会变成https://www.jianshu.com/u/de5f5d2331ee

Nginx代理实现URL不变?

关于怎么保持浏览器url不改变的问题,其实可以使用proxy_pass来进行代理,例如:

server {
    listen       80;
    server_name jianshu.94hry.tech;
    # 主页代理
    location = / {
        proxy_pass https://www.jianshu.com/u/de5f5d2331ee
    }
    # 其他请求代理
    location / {
        proxy_pass https://www.jianshu.com$request_uri
    }
}

结果是,url是不变了,但是页面功能会有各种问题,应该是前台js有使用window.location.host获取主机地址之类反伪站的代码。况且,什么请求都要经过我那1M小水管的代理,肯定会变得很慢,随放弃。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容