美文网首页运维
Nginx重定向将域名绑定到简书

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

作者: 看不见的BUG | 来源:发表于2019-04-01 23:42 被阅读0次

    简书个人主页的网址后缀是一串随机字串,不支持像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小水管的代理,肯定会变得很慢,随放弃。

    相关文章

      网友评论

        本文标题:Nginx重定向将域名绑定到简书

        本文链接:https://www.haomeiwen.com/subject/ceqibqtx.html