程序猿进阶之路「内网域名」

简介:

企业场景

一般在企业内部,开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问。

然而随着项目的增多,对于开发和测试人员记住如此多的内网地址,无疑是一件头疼的事情(当然你也可以使用浏览器书签管理器或者记录在某个地方)。但是你不永远不会确定,那天由于升级突然改了IP,我们可能又要重新撸一遍配置,所以内网域名还是非常有必要的。

内网域名具体有哪些优点:

 ●  方便记忆

 ●  变更IP,只需要修改DNS即可

服务器环境

192.168.1.170(开发) 192.168.1.180(测试)

192.168.1.190(预生产)

192.168.1.125(DNS+Nginx)

DNS安装

安装容器

为了方便,我们使用docker环境手动搭建一个DNS服务器。

选择andyshinn/dnsmasq的docker镜像,2.75版本,执行命令:

 
  1. docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75

执行完毕以后,通过命令查看是否创建并运行成功:

 
  1. [root@test125 ~]# docker ps

  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  3. 38ae71377ef1 andyshinn/dnsmasq:2.75 "dnsmasq -k" 22 hours ago Up About an hour 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp dns-server

配置DNS

进入容器:

 
  1. docker exec -it dns-server /bin/sh

创建代理文件:

 
  1. vi /etc/resolv.dnsmasq

添加内容:

 
  1. nameserver 114.114.114.114

  2. nameserver 8.8.8.8

新建本地解析规则配置:

 
  1. vi /etc/dnsmasqhosts

添加解析规则:

 
  1. 192.168.1.125 dev.52itstyle.com test.52itstyle.com sit.52itstyle.com

修改dnsmasq配置文件,指定使用上述两个我们自定义的配置文件:

 
  1. vi /etc/dnsmasq.conf

追加下述两个配置

 
  1. resolv-file=/etc/resolv.dnsmasq

  2. addn-hosts=/etc/dnsmasqhosts

退出容器:

 
  1. exit

重启容器:

 
  1. docker restart dns-server

Nginx安装

安装OpenResty之前需要下载一些必备的依赖:

 
  1. yum install readline-devel pcre-devel openssl-devel -y

  2. yum install wget perl gcc -y

下载最新版本:

 
  1. wget https://openresty.org/download/openresty-1.13.6.1.tar.gz

解压:

 
  1. tar -xvf openresty-1.13.6.1.tar.gz

安装配置:

 
  1. ./configure

您可以使用下面的命令来编译安装:

 
  1. make && make install

如果您的电脑支持多核 make 工作的特性, 您可以这样编译安装:

 
  1. make && make install -j2

为了方便启动,建立软连接:

 
  1. ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx

在/usr/local/openresty/nginx/conf文件夹下创建vhosts目录,然后依次创建一下文件(演示文件,正式环境中会有多个项目转发)。

dev.52itstyle.com.conf:

 
  1. server{

  2. listen 80;

  3. server_name dev.52itstyle.com;

  4. proxy_set_header Host $host;

  5. location /{

  6. proxy_pass http://192.168.1.170:8080;

  7. }

  8. }

test.52itstyle.com.conf:

 
  1. server{

  2. listen 80;

  3. server_name test.52itstyle.com;

  4. proxy_set_header Host $host;

  5. location /{

  6. proxy_pass http://192.168.1.180:8080;

  7. }

  8. }

sit.52itstyle.com.conf:

 
  1. server{

  2. listen 80;

  3. server_name sit.52itstyle.com;

  4. proxy_set_header Host $host;

  5. location /{

  6. proxy_pass http://192.168.1.190:8080;

  7. }

  8. }

配置文件:

 
  1. vi /usr/local/openresty/nginx/conf/nginx.conf

 
  1. worker_processes 2;

  2. events {

  3. worker_connections 1024;

  4. }

  5. http {

  6. include mime.types;

  7. default_type application/octet-stream;

  8. sendfile on;

  9. keepalive_timeout 65;

  10. #导入各个环境

  11. include vhosts/*.conf;

  12. }

启动服务:执行 nginx命令即可。

本机验证

那么如何验证这些域名可以解析到我们的内网项目,只需要修改本机dns服务器地址即可:

5607cc344a1592bd3870dcdd34f4a01c29bf5552

配置完成后,我们就可以通过dev.52itstyle.com等相关域名访问我们的内网项目了。

当然,最好是可以直接修改路由器的DNS,这样就不用每个电脑都配置DNS了。


原文发布时间为:2018-10-10

本文作者:小柒2012

本文来自云栖社区合作伙伴“Java架构沉思录”,了解相关信息可以关注“Java架构沉思录”。

相关文章
|
弹性计算 网络协议 Serverless
Serverless 应用引擎操作报错合集之使用ecs,反代到函数的内网域名上,提示{"ErrorCode":"DomainNameNotFound",是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
385 7
|
网络协议 安全 测试技术
公网环境固定域名异地远程访问内网BUG管理系统
公网环境固定域名异地远程访问内网BUG管理系统
240 1
|
网络协议 安全 测试技术
如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公
如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公
|
域名解析 监控 网络协议
企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程
企业实战(17)记录一次使用DDNS动态域名解析服务外网通过域名访问内网服务器服务的过程
1945 0
|
网络协议 应用服务中间件 nginx
公司内网搭建代理DNS使用内网域名代替ip地址
企业场景 一般在企业内部(科帮网),开发、测试以及预生产都会有一套供开发以及测试人员使用的网络环境。运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问。
7105 0
|
6月前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
2811 84
2025年阿里云域名备案流程(新手图文详细流程)
域名注册流程和费用:2025最新阿里云域名购买、信息模板实名认证教程
本文详细介绍2025年最新阿里云域名注册流程、费用、实名认证及优惠口令使用方法,涵盖域名查询、信息模板创建、价格说明与注册步骤,适合新手快速掌握域名注册全流程。
|
11月前
2025年阿里云域名备案流程(图文详细教程)
本文详细介绍了2025年阿里云域名备案的全流程,包括注册阿里云账号、企业实名认证、购买服务器、创建域名信息模板、购买域名、域名备案及查询备案号等步骤。通过图文结合的方式,清晰展示了每个环节的操作方法和注意事项,帮助用户顺利完成域名备案。文章强调了域名备案的前提是国内需有一台服务器,并提供了具体配置建议,同时提醒用户注意邮箱验证和短信核验等关键步骤,确保备案顺利通过。
12021 15