nginx小技巧-动态域名

栏目: 服务器 · Nginx · 发布时间: 7年前

内容简介:如果公司有微信开发需求的话,得有备案了的域名和80端口员工开发调试是个问题,如果每次都找运维修改,维护,会被K的。交换机设置DMZ到一台固定服务器,在上面部署nginx/openresty

如果公司有微信开发需求的话,得有备案了的域名和80端口

员工开发调试是个问题,如果每次都找运维修改,维护,会被K的。

交换机设置DMZ到一台固定服务器,在上面部署nginx/openresty

可以gitlab(svn)+jenkins/ansible等运维方式实现每次修改配置文件后,提交到gitlab触发CI/CD推送到nginx服务器,执行reload

当然变通的也有,比如,openresty+lua订阅redis,发现变更后,读取 redis 的配置,rewrite到本地配置文件然后reload,但是总归是比较笨重的

下面说的是通过 server_name 设置通配符来实现动态域名的方案

server {
    listen 443 http2 ssl;
    listen 80;
    server_name  ~(?<h>.+)_(?<a>\d+)_(?<b>\d+).domain.com;
    location / {
        //proxy settings ...
        proxy_pass http://192.168.$a.$b;
    }
}
复制代码

使用方法

curl http[s]://abc_1_1.domain.com
复制代码

等于

curl -H"abc_1_1.domain.com" http[s]://192.168.1.1
复制代码

为啥用 _ 分隔,而不是用 . 分隔成多级域名,是因为Let's Encrypt的通配符是同级通配符,比如 *.domain.com 只支持 a.domian.com 这种, a.b.domain.com 是无效的,如果不需要https访问(小程序需要https)的话,则可以自行修改成 . 分隔

注意,此方案会存在一定的安全隐患,比如,ip爆破(可以设置白名单访问,basic auth,限制动态ip范围).

好处是维护简单(新增域名,更改域名->ip映射,修改配置,采集数据,打印日志等)

本文只是其中反向代理中的一种,类似的反代方案还有frp和ngrok,还可以用dns(bind,dnsmasq).


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

这就是搜索引擎

这就是搜索引擎

张俊林 / 电子工业出版社 / 2012-1-1 / 45.00元

搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻。搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。 本书的最大特点是内容新颖全面而又通俗易懂。对于实际搜索引擎所涉及的各种核心技术都有全面细致的介绍,除了作为搜索系统核心的网络爬虫、索引系统、排序系统、......一起来看看 《这就是搜索引擎》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具