IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

更有效的进行前后台联调-让同一域名上的不同cgi访问不同的ip

Vimer 2011-08-19 22:56:53 累计浏览 2,323 次
本机暂存

    在日常的前后台联调中,我们都习惯用host的方式来使某个域名的cgi都访问测试环境,然而这有一个显而易见的问题:

     如果一个域名下有十几个CGI,而这次提测的只有其中的一个,那么要想整个环境可用,你除了要保证这个CGI可用之外,和你完全无关的十几个CGI也要全部调通。

    很纠结,不是吗?

    其实我们有更好的方式,那就是用反向代理,我们可以用nginx来实现。

    以 appsupport.qq.com 这个域名举例,比如本次提测的cgi路径是:

/cgi-bin/appstage/send_topic.cgi

    这个cgi要访问测试环境: 172.16.197.186;而这个域名上的其他cgi都要访问正式的外网环境(如10.137.148.124)。

    到http://nginx.org/en/download.html下载windows版本的nginx,解压到C盘,然后修改他的nginx.conf文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#测试环境
upstream test_env {
    server 10.6.207.119;
}
 
#预发布环境
upstream pre_env {
    server 172.16.197.186;
}
 
#appsupport外网环境
upstream appsupport_release_env {
    server 10.137.148.124;
}
 
server {
    listen       80;
    server_name  appsupport.qq.com;
 
    location ~ /cgi-bin/appstage/send_topic.cgi {
        proxy_pass http://pre_env;
    }
 
    location / {
        proxy_pass http://appsupport_release_env;
    }
}

    双击执行nginx.exe;如果要停止,可以在命令行下执行:

1
nginx.exe -s stop

    然后修改你的本机host如下:

1
127.0.0.1   appsupport.qq.com

    这样,在浏览器中直接输入url,ngx会自动根据url路径来选择访问的ip,如此岂不快哉!

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 解析nginx负载均衡 (累计阅读 16,622)
  2. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (累计阅读 9,096)
  3. AWStats是一个基于Perl的WEB日志分析工具。 (累计阅读 7,176)
  4. 不要在linux上启用net.ipv4.tcp_tw_recycle参数 (累计阅读 4,996)
  5. MTU值的调整导致MySQL复制异常 (累计阅读 4,797)
  6. 网关协议学习:CGI、FastCGI、WSGI (累计阅读 4,709)
  7. HTTP Server开发相关学习资料整理推介 (累计阅读 4,515)
  8. 在CGI中通过Etag和Cache-Control来控制流量,访问量及生效时间 (累计阅读 4,337)
  9. debian开启与关闭IPV6 (累计阅读 4,262)
  10. ubuntu 笔记之:如何修改dns (累计阅读 3,908)