前言:

以前我以为解析域名他可以绑定到服务器的某个端口,其实并不是如此,在域名解析的时候我发现他只能解析到服务器的ip地址,不能具体指定到某一个端口,但是我们可以通过其他的技术来实现此次功能,我们本次使用的是nginx的反向代理。   

  条件: 

 一台云服务器、域名|,域名需要备案才能将域名解析到服务器噢!

目标效果:

www.xxx.xx(域名) 替代 xxx.xxx.xxx.xxx:port(公网ip+端口)or  www.xxx.xxx:port(域名+端口)

 我们不做方向代理的情况下是这样的:  

android域名映射 域名映射到ip的固定端口_nginx

 当我们使用nginx做反向代理的情况如下:

android域名映射 域名映射到ip的固定端口_nginx_02

 解释:

当你直接输入你的公网ip或者解析完后的域名它走的是http协议默认端口是80,你想要实现域名/公网IP直接访问某个端口是行不通的,除非在域名/公网IP+端口,这很显然不是我们要的效果。

通俗的解释:

这个有点类似于早期的电话你不能直接打给某人只能打到一个站点,你想要联系某个人必须叫接线员帮你转接给某人,而nginx可以充当那个接线员角色。你可以通过nginx的反向代理去你想要去的地方。

首先安装nginx:

我这里准备的是一台阿里云的服务器(centos7.x),nginx版本是:

android域名映射 域名映射到ip的固定端口_android域名映射_03

百度网盘自提 ,提取码:【8888】https://pan.baidu.com/s/1PHv19913esupYYhm32gCnw 

android域名映射 域名映射到ip的固定端口_android域名映射_04

https://pan.baidu.com/s/1PHv19913esupYYhm32gCnw

 1. 在nginx压缩包目录下执行以下命令(command):

tar -zxvf  nginx-1.9.6.tar.gz

android域名映射 域名映射到ip的固定端口_IP_05

 2.进入解压后的nginx文件,里面有个绿色的configure可执行文件。

android域名映射 域名映射到ip的固定端口_IP_06

3.执行这个绿色的 可执行文件(command):

./configure

    

android域名映射 域名映射到ip的固定端口_android域名映射_07

 执行加载后我这里报了这个错,不慌我们只需要安装一个依赖即可(command):

yum -y install openssl openssl-devel

下载完后我们再执行一下(command):

./configure

android域名映射 域名映射到ip的固定端口_nginx_08

 到了最后没有报刚刚那个错误,我们紧接着再执行一下(command):

make install

make完后不报错就安装成功了。

我们执行命令查看nginx 安装的位置(command):

whereis nginx

android域名映射 域名映射到ip的固定端口_centos_09

图上显示是usr/local/目录下

4.我们进入安装好的nginx里面有一个sbin文件,执行这个sbin里面那个绿色的可执行文件nginx

     它就是启动nginx的可执行文件。

android域名映射 域名映射到ip的固定端口_centos_10

我们将它执行一下(command):  ./ nginx   

android域名映射 域名映射到ip的固定端口_centos_11

这里要特别注意一下,安全组和防火墙一定要开发80端口,不让的话会被拦截。 

让nginx进行方向代理

    我们找到nginx的配置文件,它的位置再我们安装好的nginx中conf目录下,其中nginx.conf就是       nginx的配置文件。

android域名映射 域名映射到ip的固定端口_centos_12

让我们打开它是,找到如下位置。

android域名映射 域名映射到ip的固定端口_centos_13

我们编辑这个配置文件在这里设置反向代理,在该位置添加(proxy_pass http://www.baidu.com;),用百度来测试。

android域名映射 域名映射到ip的固定端口_android域名映射_14

我们还要重新启动一下nginx,我们来到启动nginx的目录下(/usr/local/nginx/sbin 目录下),

android域名映射 域名映射到ip的固定端口_android域名映射_15

 重新启动的命令是(如上图command):

./nginx -s reload


没有报错就代表成功了,这个时候我们访问一下解析后的域名或者是自己的公网IP,就可以直接跳转到百度的首页了。如果是想跳转到自己的某个端口的换就把百度换成自己的就行了,

1:把www.baidu.com 改成自己的域名加端口 

proxy_pass http://www.xxx.xxx:8080;

2:把www.baidu.com 改成自己的域名加端口 

proxy_pass http://xxx.xxx.xxx.xxx:8080;

以上二者都可以达到通过自己的域名或者公网IP 直接访问自己的端口了。

注意:想要访问哪个端口一定在防火墙和安全组开发该端口哟!