展开目录
nginx反向代理模拟本地服务器环境
nginx
X
陈尼玛的博客
记录开发生涯的踩坑经历,用时间来验证成长
加载中

由于edx服务器环境搭建难度相当变态,而且我只负责前端开发,所以就不想搭建本地的edx环境。但是开发过程难免有需要用到后端服务的情况,以前写过一个前端调试器可以模拟部分行为,但是像有些功能脱离后端用不了,如验证码校验。为了解决这两个矛盾,我使用了nginx反向代理功能。

我的想法是: 0. 只要是我能访问到的后端服务器,都能成为我本地服务器后端资源的一部分 0. 我能够自由选择使用哪一个后端服务器,比如开发服,或者局域网内同事的本地服务器 0. 本地服务器返回结果前有个判断,如果本地存在静态文件则使用本地文件,否则转发请求到目标服务器返回结果

基于目前可用的外部服务器资源有三个,开发服,同事steven的本地机器,正服,所以最终我在nginx.conf增加这样一段配置:

server {
  listen 80;
  autoindex on; 
  server_name ~^(?<domain>steven|develop|publish).edx;
  charset utf-8;
  root d:\\xxx\\edxroot\\$domain\\;
  location / {
    set $flag 0;
    # 转发规则:
    # 1. 本地文件不存在
    if ( !-e $request_filename){ set $flag 1; }
    # 2. 访问路径是目录
    if ( $uri ~ /$ ){ set $flag 1; }
    if ( $uri = "/forum/2/new" ){ # 特殊地址返回text/html头部
      add_header Content-Type text/html;
    }
    set $flag "${domain}${flag}";
    if ( $flag = "steven1" ){
      proxy_pass  http://10.26.123.33:8000; # steven的机器
    }
    if ( $flag = "develop1" ){
      proxy_pass  http://10.19.119.12; # 开发服
    }
    if ( $flag = "publish1" ){
      proxy_pass  http://www.xxx.cn; # 正服
    }
  }
}

相关文档

  1. nginx 子域名对应文件夹

  2. nginx用域名来转发请求

  3. sendmail用nginx做代理

  4. nginx 限制访问频率

  5. nginx 禁止百度云观测访问

  6. 为百度抓取单独开辟http通道

  7. nginx域名跳转配置和禁止ip访问

  8. nginx域名映射目录的配置方法

随便看看

  1. cnpm 立即同步

  2. 安卓文字偏上,文字顶部被遮罩

  3. css3 文字渐变色

  4. nodejs本地双向代理 端口转发

  5. 搜索命令整理

  6. mongodb 批量修改字段语句

  7. npm设置仓库地址和代理

  8. 模拟307跳转情况

  9. webrtc泄漏本地ip信息

  10. dd备份/还原

  11. linux自启动/禁止自启动服务

  12. git记住/删除账号密码

  13. git 设置代理服务器

  14. ssl 证书生成方式

  15. 把树莓派的存储空间拓展到整张TF卡中

  16. python下载文件,带进度条控制

  17. centos查看最近一次的开机时间

  18. replace2正则扩展方法

  19. 感谢beego陪伴我度过那不靠谱的半年

  20. html表格导出csv文件并下载

畅言模块加载中