问题、场景
我本地部署了很多服务,比如说 RocketMQ-Console、Zookeeper
等,由于这些都是通过IP+端口访问的,时间久了难免回忘记,因此我想到使用域名来代替IP+端口访问,比如说我们使用mq.com
代替 localhost:808
访问RocketMQ-Console
。
原理
我们知道如果需要使用一个域名解析到一个服务的话,需要以下这几个步骤
- 购买一个域名并且备案,假设叫a.com吧
- 配置域名解析,比如说我要把a.com解析到127.0.1.1(假设是个外网域名)中
- 假设我们在127.0.1.1部署了一个监听端口号为9990的服务,那么我们这个时候就需要使用到反代。把之前访问a.com的80端口的流量代理到127.0.1.1的9990中
这就是一个大致的流程,接下来我们要讲的东西和这个原理息息相关。
域名解析
如果你需要使用外网域名的话,你首先得挑选并购买一个域名,然后配置DNS解析。为了减少DNS的压力以及一些其它原因,我们每次解析域名的时候不会直接从DNS服务器中解析,而是首先从本地HOST文件和缓存中获取映射关系。所以我们可以通过修改本地HOST文件来增加域名解析,即修改/etc/hosts
文件。当然我们可以下载 SwitchHost
软件来进行更新,更改格式如下:
127.0.0.1 mq.com
注意