反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

正向代理

正向代理我的理解就是:当你想要获取某台服务器的内容时却受到某些阻挠无法直接获取到它的内容,这就需要一台中转服务器,我们通过这台中转服务器间接获取到目的服务器的内容,例如说你想要访问某外网资源,却又受到局域网的限制,这时候你就可以通过访问代理服务器间接访问外网,这就是所说的正向代理。

那为什么要配置反向代理,一般配置反向代理主要用于处理跨域问题。而所谓的跨域就是受限于同源策略,即相同的协议、域名、端口号。一旦其中有一样不同,就会造成跨域。

介绍完简要概念,下面直接进入主题。

如果要在ubuntu上直接配置ngnix就必须要以 管理员的身份进入到ubuntu系统。

首先我们需要安装一下nginx,命令如下:

sudo apt-get install nginx

安装完成之后,我们先检查一下nginx的版本,看下是否安装成功

nginx -v

安装成功后,我们进入nginx的目录下

cd /etc/nginx/

我们进入今后可以通过ls命令看下下面有哪些文件夹

接着我们我们进入到conf.d的这个文件夹,新建一个命名为binguo-online-8787的配置文件

(命名看个人喜好,我一般是以自己域名加上端口号来命名)

cd conf.d

sudo vi binguo-online-8787.conf

创建之后我们来编译一下它的配置文件,建议自己一个个打进去,这样下次配置的时候会更有印象.

(如果编译错误,可以继续通过sudo vi binguo-online-8787.conf进去修改代码,大多是中英文,或者漏写了空格或多加了冒号的错误,然后重新保存编译就可以了)

注意:我的服务器端口是8787,默认监听端口是80端口   server_name 写自己服务器外网的ip地址 例如11.112.113.114  http://binguo写域名或者不写可以

下面代码根据自己的服务器监听的端口修改

upstream binguo{

server 127.0.0.1:8787;

}

server {

listen 80;

server_name  11.112.113.114;

location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Nginx-Proxy true;

proxy_pass http://binguo;

proxy_redirect off;

}

}

进入如果无法敲代码通过按下i键即可,敲完后按下esc键恢复初始命令光标状态再按下shift+;号,输入!wq保存代码

写完配置文件然后开始运行(如果操作时间过长需要重新输入管理员密码)

sudo nginx -t

显示运行成功后,重启下nginx

sudo nginx -s reload

然后我们就可以在浏览器上通过11.112.113.114访问到nginx默认的页面啦

接着 我们只需要重启一下我们的服务器就可以通过11.112.113.114访问服务器啦!

处理跨域的方法还有很多,网上一搜一大堆,但是我觉得用nginx处理跨域还是比较简单易懂的,在window配置nginx方式也是类似!

如果大家发现更好的处理跨域的方法也可以推荐给我下哈 O(∩_∩)O哈哈~!

ubuntu上配置nginx实现反向代理的更多相关文章

  1. 在ubuntu上面配置nginx实现反向代理和负载均衡

    上一篇文章(http://www.cnblogs.com/chenxizhang/p/4684260.html),我做了一个实验,就是利用Visual Studio,基于Nancy框架,开发了一个自托 ...

  2. 在ubuntu上面配置nginx实现反向代理

    1.下载nginx    官网:http://nginx.org/en/download.html    直接在服务器上下载 wget http://nginx.org/download/nginx- ...

  3. docker配置nginx做反向代理管理tomcat应用

    由于业务开始复杂,单一tomcat已经不足以满足业务需求,多tomcat部署起来不方便而且面临域名解析问题,因此开始增加反向代理,由于docker的易用性,便使用docker管理各个应用. docke ...

  4. 在ubuntu上配置nginx+php+mysql+phpmyadmin

    1.先更新ubuntu系统 更新命令 sudo apt-get update sudo apt-get upgrade 2 添加ubuntu nginx更新源镜像 cd /etc/apt/ sudo ...

  5. 在Linux上部署Nginx,反向代理tornado的WebSite

    1.安装 Nginx yum install -y nginx 2. 修改nginx配置文件 cd /etc/nginx/ mv nginx.conf nginx.conf.swf mv nginx. ...

  6. Nginx 笔记与总结(15)nginx 实现反向代理 ( nginx + apache 动静分离)

    在 nginx 中,proxy 用来实现反向代理,upstream 用来实现负载均衡. 例如有两台服务器,nginx 服务器作为代理服务器,执行 .html 文件,apache 服务器上执行 .php ...

  7. 【本地服务器】用nginx进行反向代理处理(windows)

    在通过json-server搭建本地服务器得到 http://localhost:3000/todos   的基础上,要想将接口改为www.test.com/todos这样的形式 ,则需要用nginx ...

  8. NGINX如何反向代理Tomcat并且实现Session保持

    简介 LNMT=Linux+Nginx+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被 ...

  9. CentOS 7 安装Nginx做反向代理

    题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装 ...

随机推荐

  1. BZOJ_1803_Spoj1487 Query on a tree III_主席树+dfs序

    BZOJ_1803_Spoj1487 Query on a tree III_主席树 Description You are given a node-labeled rooted tree with ...

  2. C# 利用VS自带的WSDL工具生成WebService服务类

    C# 利用VS自带的WSDL工具生成WebService服务类   WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲 ...

  3. 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

  4. Go语言中的面向对象

    前言 如果说最纯粹的面向对象语言,我觉得是Java无疑.而且Java语言的面向对象也是很直观,很容易理解的.class是基础,其他都是要写在class里的. 最近学习了Go语言,有了一些对比和思考.虽 ...

  5. 如何删除git远程仓库项目的所有内容,重新提交所有内容

    如果我们上传了一个项目到git并已经commit和push了所有内容,但是忘记搞gitignore文件, 导致一些不想加入版本控制的文件,如IDE配置文件,编译文件,部署文件等, 现在不知道怎么办了? ...

  6. 前端利用百度开发文档给的web服务接口实现对某个区域周边配套的检索

    最近项目需要实现地图功能,以便于实现对房源周边配套设施的检索.内容如下 其实百度官方有对应的api,但是对于一个网站来说这样的样式难免有些难看 这样的结果显然不能满足当下的需求,所以我决定利用官方给的 ...

  7. 神奇的Scala Macro之旅(三)- 实际应用

    在上一篇中,我们示范了使用macro来重写 Log 的 debug/info 方法,并大致的介绍了 macro 的基本语法.基本使用方法.以及macro背后的一些概念, 如AST等.那么,本篇中,我们 ...

  8. <转>快速找到整数约数集方法<python><stackoverflow>

    [背景] 我需要从N遍历到1,当我已经判断N不符合要求时,我知道N的所有约数也是不符合的,所以所有N的约数也不用遍历.因此,对于遍历的每个N,我需要快速找到它的所有约数,放到一个集合里面,而当我遍历到 ...

  9. ES踩坑笔记

    现在开始在业务上使用ES,记录一些踩坑经历,做点笔记. 2018-11-13 source不返回问题 使用了角色校验,客户端插入成功之后获取数据没有source,和查询参数无关. 检查mapping, ...

  10. 我眼中的 Nginx(三):Nginx 变量和变量插值

    张超:又拍云系统开发高级工程师,负责又拍云 CDN 平台相关组件的更新及维护.Github ID: tokers,活跃于 OpenResty 社区和 Nginx 邮件列表等开源社区,专注于服务端技术的 ...