反向代理

反向代理(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. kcp-go源码解析

    概念 ARQ:自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:Retransmission TimeOutFEC:Forwa ...

  2. Sql函数笔记一、case when

    Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   ...

  3. CopyOnWriteArrayList简介

    CopyOnWriteArrayList,写数组的拷贝,支持高效率并发且是线程安全的,读操作无锁的ArrayList.所有可变操作都是通过对底层数组进行一次新的复制来实现. CopyOnWriteAr ...

  4. Linux的文件类型

    在Linux中,文件的颜色都是有含义的.其中, Linux中文件名颜色不同,代表文件类型不一样. 浅蓝色:表示链接文件: 灰色:表示其他文件: 绿色:表示可执行文件: 红色:表示压缩文件: 蓝色:表示 ...

  5. 我和Python的Py交易》》》》》》 浮点数的身世字谜

    什么是浮点数? 在数据类型中写道,浮点数是带小数点的小数,这个概念是不准确的:浮点数是除了无限不循环小数之外的小数,也就是可以用分数表示的带小数点的数. 好了,浮点数就这些内容,讲完了,各回各家,各找 ...

  6. 如何扩展分布式日志组件(Exceptionless)的Webhook事件通知类型?

    写在前面 从上一篇博客高并发.低延迟之C#玩转CPU高速缓存(附示例)到现在又有几个月没写博客了,啥也不说,变得越来越懒了,懒惰产生了拖延后遗症. 最近一周升级了微服务项目使用的分布式日志组件Exce ...

  7. Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库

    前言     在 .Net Core 2.2中 Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从 NuGet 仓 ...

  8. vue学习笔记4

    父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script> // 创建 Vue 实例,得到 ViewModel var vm = ne ...

  9. Google XSS Challenge

    https://xss-game.appspot.com/level1 https://xss-game.appspot.com/level1 payload: <svg onload=aler ...

  10. ArcMap插件开发初识:Add In

    之前一直在做ArcEngine的相关开发,做的winform相关,新换了工作,又开始新的学习旅程! Add In 这个东西很早就知道有,但是一直没有用过,因为之前的公司有自己框架,接口,虽然我也是做插 ...