ubuntu上配置nginx实现反向代理

反向代理

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

正向代理

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

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

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

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

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

sudo apt-get install nginx

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

nginx -v

ubuntu上配置nginx实现反向代理

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

cd /etc/nginx/

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

ubuntu上配置nginx实现反向代理

接着我们我们进入到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

ubuntu上配置nginx实现反向代理

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

sudo nginx -s reload

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

ubuntu上配置nginx实现反向代理

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

ubuntu上配置nginx实现反向代理

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

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

上一篇:Java学习记录-Jdk包简单介绍


下一篇:使用jps查看JVM进程信息