菜鸟笔记
提升您的技术认知

Nginx实现域名跳转

     域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。在匹配的时候,域名指向的实际是ip地址,例如:aaaa.com----------》148.65.45.44,注意,此处指向的是ip地址,而并非某个端口。看到很多小伙伴问到为什么不能云服务平台(腾讯云、百度云、阿里云)通过aaaa.com----------->148.65.45.44:4444这样的方式呢。答案很简单,域名解析的是IP,不是端口。

      那为什么用域名有时候能访问呢,这是因为你开启了80端口,80端口默认是不显示的,所以看起来,你会觉得好像域名指向了端口,才会造成上面的错觉。

    那么实现域名跳转端口(不知道这么说正确与否)到底有没有方法?

    肯定有!

    实现方式1:用过云服务提供的隐式url转发进行,详情可以参考阿里云的相关介绍。

 

实现方式2、路由器中进行转发,通过路由器可以进行拦截处理,然后将域名指向具体的端口,详情百度,这里不再赘述。

实现方式3、nginx代理  nginx最大的优势就是反向代理,请求的域名解析后进入nginx服务器便可进行代理处理,话不多说,上图。

(1)、 域名云解析,添加 A 记录

(2)、 在 Nginx 中完成反向代理配置

  • 编辑 Nginx 配置文件,在 nginx.conf 文件中新增server节点如下(通过vi /etc/nginx/nginx.conf修改)
  • server {
        listen 80;
        server_name abc.com;#你的域名
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $http_host;
            proxy_pass https://127.0.0.1:90;#真正服务端口
        }
    }
    
    server {
        listen 80;
        server_name sss.abc.com;#你的域名  二级域名
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $http_host;
            proxy_pass http://127.0.0.1:2223;#真正服务端口
        }
    }
     

    (3)、重启nginx   nginx -s reload