反向代理

反向代理(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. logrus_hook.go

    package) //表示自身栈中跳过6个,:]     entry.Data["file"] = fileName     entry.Data["func" ...

  2. 【codeforces 698C】LRU

    题目链接: http://codeforces.com/problemset/problem/698/C 题目大意: n个物品,k个格子,第i个物品每次被选取的概率为$p_{i}$,如果格子里没有该物 ...

  3. [Poi2012]Festival 差分约束+tarjan

    差分约束建图,发现要在每个联通块里求最长路,600,直接O(n3) floyed #include<cstdio> #include<cstring> #include< ...

  4. codeForces 472D 最小生成树

    题目大意:给出一个图中点的两两距离,问是否是一棵树,若是,求出平均边权最大的点 prim最小生成树,若原图是树,则最小生成树的距离就是原距离.否则不是. 搞出来树了,第二问随便dfs就好了. #inc ...

  5. 【源码解析】Sharding-Jdbc模块分析

    最新的2.0版本的Sharding-Jdbc版本,由于需要支持动态配置加载,所以最新的模块信息如下: |-sharding-jdbc |-sharding-jdbc-core |-api |-cons ...

  6. mac升级后idea提示Can't start git

    试了官网的解决方案,还是不行,然后到Stack Overflow上面,找到了下面这个方法,完美解决. 在命令行中运行: xcode-select --install 安装软件就可以了.

  7. Spring py登陆模块(包含 记录登陆时间,记录ip,增加积分)

    嘛基于最近的复习准备写个关于spring登陆模块的小程序 虽然小但是五脏俱全呐 话不多说让我来介绍一下今天的登陆程序. 这些是 基于Spring JDBC 的持久层实现 基于Spring 声明事物的业 ...

  8. i春秋------Misc更新

    今天早上起来很开森!因为今天要打比赛了(2018年3月安恒杯线上赛),等到比赛开始得时候,发现自己登陆不上去 想了很久发现自己只是预约了比赛,并没有报名(QAQ ),心疼一下傻傻的自己.现在开始工作: ...

  9. C#相等性 - “==”

    今天写一下C#里的“==”这个操作符. 原始类型 假象 在刚学C#的时候,我以为C#里的==和.NET里的object.Equals()方法是一样的,就是一个语法糖而已.其实它们的底层机制是不一样的, ...

  10. Vue.js-10:第十章 - 组件间的数据通信

    一.前言 在上一章的学习中,我们继续学习了 Vue 中组件的相关知识,了解了在 Vue 中如何使用组件的 data.prop 选项.在之前的学习中有提到过,组件是 Vue 中的一个非常重要的概念,我们 ...