最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询。

一、Windows

修改nginx的配置文件,nginx.conf。

1)nginx.conf文件,http下,默认打开的server只有一个,监听的是80端口:

 http{
 XXXXX
 server{
   listen 80;
      XXXX
 }
 }

2)我们手动添加一个server(虚拟机),这样本地使用假数据来模拟请求json文件时,不会因为跨域而请求不到。

 http{
 XXXX
 server{
      listen 80;
      XXXX
 }
 server{
 # 端口,自己定义,注意不要重名
     listen 8088;
     server_name localhost;
 # Path for static files 项目所在的文件夹,指向编译后的文件夹
 # 我这里指向的路径是编译后的文件夹,实际指向你要运行html的文件夹都可以
     root  D:\BigCity\americanschool\frontend\output;
 #Specify a charset
     charset utf-8;
 # 开启SSI
     ssi on;
     ssi_silent_errors off;
 # ssi针对所有文件类型生效
    ssi_types *;

 #转发所有的json文件的请求
23 location ~(.*\.json){
24 #我这里json文件放的目录和工程目录是同一个,所以root的地址和上面相同;另外,注意,如果用npm 来编译源文件,源文件中的json可能不会生成到output文件夹,需要手动拷贝,才能正常请求到;
25     root D:\BigCity\americanschool\frontend\output;
26     error_page 405 =200 $1;
27 }
28 }
29 }    

3)当后端程序部署后,前端联调时,需要把请求都转到实际的后端,需要再次修改ngnix.conf如下:

 server {
 # 端口,自己定义,注意不要重名
  listen 8088;
  server_name localhost;
  # Path for static files 项目所在的文件夹,指向编译后的文件夹
 # 我这里指向的路径是编译后的文件夹,实际指向你要运行html的文件夹都可以
  root  D:\BigCity\americanschool\frontend\output;
  #Specify a charset
  charset utf-8;
  # 开启SSI
  ssi on;
  ssi_silent_errors off;
  # ssi针对所有文件类型生效
  ssi_types *;
  # error_log  logs/km.error.log warn;
  #将/test/开头的请求转发到后端服务器
 #XXXX是你的后端服务器的ip
 #对应前端js中的ajax的请求是:/rest/aaaaa/bbbbbb
   location ^~ /rest/ {
20     proxy_pass http://XXXX/rest/;
 }}

这样配置后,路径D:\BigCity\americanschool\frontend\output下发起的ajax请求,只要是以/rest/开头的,都会被转发到proxy_pass指向的地址,也就是把http://XXXX和ajax访问的url拼接起来,得到:http://XXXX/rest/aaaaa/bbbbbb

二、MAC下的配置

MAC下,安装好的nginx无法在文本编辑器中修改,只能在“终端”查看;并且没有修改的权限;因此,只能先把nignx.conf文件拷贝出来,更改后,再拷贝回去,注意需要使用sudo。

[nginx]Windows和Mac下,nginx反向代理服务器配置的更多相关文章

  1. Nginx --Windows下和Linux下搭建集群小记

    nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...

  2. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

  3. nginx在windows下配置反向代理

    转自:https://blog.csdn.net/comeonyangzi/article/details/72466310 下载地址:http://nginx.org/download/ 下载后直接 ...

  4. 在windows环境下 nginx + .net core 3.1 实现反向代理和负载均衡

    一.创建.net core web 应用 1.首先打开vs2019创建好.net core web应用,简单的注入IConfiguration 便于打印端口号展示效果. 1 private reado ...

  5. windows系统配置Nginx使用SSL证书实现Https反向代理

    Nginx反向代理服务,可以代理接收请求,并把请求转发到设置好的其他服务器上. 例如,Nginx服务器为 100.101.102.103,A服务为 100.101.102.104 ,通过Nginx配置 ...

  6. windows与mac下安装nginx

    window下 下载链接,自己选一个版本下载 nginx官网下载 本人放在D盘: 启动nginx 有很多种方法启动nginx (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 (2)打开 ...

  7. Nginx二级域名及多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 注:nginx反向代理同一ip多个域名,给head ...

  8. nginx的rewrite,gzip,反向代理学习笔记

    rewrite模块名:ngx_http_rewrite_module默认自动被编译 指令:rewrite regex replacement [flag] regex :正则表达式,用于匹配用户请求的 ...

  9. centos7安装nginx,以及使用node测试反向代理

    1.添加nginx的安装源 vi /etc/yum.repos.d/nginx.repo 2.输入下面内容,并保存退出 [nginx] name=nginx repo baseurl=http://n ...

随机推荐

  1. html精确定位

    1.offsetwidth.offsetHeight是指包含border的元素宽高. 2.clientWidth.clientHeight是指不包含border的元素宽高. 3.scrollWidth ...

  2. php的autoload机制

    php5版本中,当你尝试使用一个未定义的类或者接口时,会自动调用__autoload()函数 例如1 <?php function __autoload($class_name){ includ ...

  3. (简单) POJ 2502 Subway,Dijkstra。

    Description You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. Instead of ...

  4. iOS学习笔记1--在xcode6以上的版本中不使用storyboard以及部分控件使用

    首先建立一个iOS新工程,删除工程自动建立的main.storyboard以及xib文件,并且在info.plist上删除这两个选项 然后在项目配置中将maninterface设置为空,将launch ...

  5. ARM-LINUX学习笔记-1

    安装完linux之后记得系统更新,更新使用apt命令,如下(记得使用之前使用sudo -i 指令切换到root用户模式) apt-get update  更新系统软件源,相当于查找更新 apt-get ...

  6. javascript alert,confirm,prompt弹框用法

    1. alert是弹出警告框,在文本里面加入\n就可以换行. 2. confirm弹出确认框,会返回布尔值,通过这个值可以判断点击时确认还是取消.true表示点击了确认,false表示点击了取消. 3 ...

  7. php学习记录

    放了寒假.期末考试折腾了一个月都不会写代码了. 一放寒假就找了套PHP培训的课程 在这做些笔记,系统的学习一下php 2017.1.14 介绍集成环境---wamp Apache服务器根目录 / -- ...

  8. memcache细节解析

    转自:原链接 Memcached内存管理采取预分配.分组管理的方式,分组管理就是划分slab class,按照chunk的大小slab被分为很多种类.   slab Slab是一个内存块,它是memc ...

  9. 10.8.5如何升级(app store 出错 请稍后重试 100)

    出现问题:苹果以前的老版本,OS X 10.8或是10.8.5在当年提示你升级,你又任性没升级的时候,拖过那阵,你再想升级,就是各种报复.进app store下载或是更新东西都是弹出app stpre ...

  10. Undefined symbols for architecture i386: "_crc32", referenced from:——crc链接错误

    有时候用别人的框架,你会碰到下面的错误,很是吓人,什么玩意,我怎么看不懂!!! Undefined symbols for architecture i386:  "_RELEASE&quo ...