最近做项目,前端需要用到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. uvc摄像头代码解析1

    一.FAQ 1.判断自己的摄像头是否支持uvc标准 输入lsusb //列出usb设备 [cpp]   Bus 001 Device 001: ID 1d6b:0002 Linux Foundatio ...

  2. windows下 nginx php 环境搭建

    windows下配置nginx+php环境 刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果) ...

  3. jquery.mustache.js使用

    作者:zccst jquery.mustache是用jQuery做了一层封装,提供了以下几个方法,让模板使用更便捷. 1,添加模板,使用异步的方式 var viewData = { name: 'Jo ...

  4. Ubuntu下搭建C++开发环境

    Ubuntu使用eclipse搭建c/c++编译环境----CDT插件 Ubuntu(Linux)使用Eclipse搭建C/C++编译环境          这两天,给自己电脑弄了双系统,除了原来的W ...

  5. iOS开发——刮奖

    还是直接上代码,有什么问题的话,直接评论. 1.在YYTScratchView.h文件中 // //  YYTScratchView.h //  Demo-刮奖 // //  Created by y ...

  6. Masonry布局框架的使用

    Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性.比我们使用自动布局,繁琐的约束条件,好用多了.下面我们来学学masonry的使用方 ...

  7. 使用Emacs中的org-mode写cnblogs之图片插入

    .title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium ...

  8. Chapter5 – 碰撞检测

    主人公能够放子弹了,虽然子弹看起来很美,但是怎么样来打到妖怪? 在这一章我们介绍一下最简单的碰撞检测方法去实现它. 首先第一个,我们有必要保存每个妖怪和子弹的指针,来够追踪他们的位置. 在这个游戏中我 ...

  9. 【转】安卓Java的虚拟机区别

    Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令 ...

  10. js 回车触发事件

    <script type="text/javascript" language=JavaScript > document.onkeydown=function(eve ...