2

什么是反向代理?Nginx反向代理如何配置?

 1 year ago
source link: https://server.51cto.com/article/712887.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

什么是反向代理?Nginx反向代理如何配置?-51CTO.COM

什么是反向代理?Nginx反向代理如何配置?
作者:wljslmz 2022-07-01 07:33:24
在开始本文前,请先保证你的服务器已经安装好nginx,安装nginx非常简单。本文我将以ubantu系统为例,那么怎么在ubantu系统安装nginx呢?

​nginx在日常工作中是一个不可缺少的服务,其中使用nginx做的事情最多的就是反反向代理,今天笔者带大家详细学习一下nginx反向代理。

让我们直接开始!

安装nginx

在开始本文前,请先保证你的服务器已经安装好nginx,安装nginx非常简单。

本文我将以ubantu系统为例,那么怎么在ubantu系统安装nginx呢?

只需要一条命令即可:

apt-get install nginx

这里我就不带大家安装了,安装好后,执行一条命令:

nginx -v

如果出现以下结果:

什么是反向代理?Nginx反向代理如何配置?

则代表你的nginx安装成功了,我这里安装的是1.14.0的版本。

用apt-get install nginx命令安装完nginx后,有几个默认的目录需要大家记一下:

  • 主程序:/usr/sbin/nginx
  • 配置文件:/etc/nginx
  • 静态文件:/usr/share/nginx
  • 日志文件:/var/log/nginx

这几个目录记好,后面配置的时候可能会用到。

当然了,用源码部署的方式安装你就可以自己定义路径了。

Nginx几个重要的命令

  • 启动:./usr/sbin/nginx或者service nginx start
  • 重启:./usr/sbin/nginx -s reload或者service nginx restart
  • 强行停止:./usr/sbin/nginx -s stop或者service nginx stop
  • 优雅停止:./usr/sbin/nginx -s quit
  • 检测配置文件是否有错误:./usr/sbin/nginx -t
  • 指定配置文件:./usr/sbin/nginx -c xxx.conf

什么是反向代理

代理服务器

要理解反向代理这个术语,首先了解一下什么是代理服务器?

代理服务器是放置在用户和网站之间来实现匿名的中间服务器,当通过代理服务器访问网站时,请求会发送到代理服务器,然后代理服务器会将其转发到网站,对于网站,请求看起来像来自代理服务器,这就是转发代理,也叫正向代理。

什么是反向代理?Nginx反向代理如何配置?

服务器有时需要匿名来增强其安全性,这样,这样在目的服务器前置一般会放一个代理服务器,让用户感觉这个代理服务器就是目的服务器,保证了匿名性,这样的过程称为反向代理。

什么是反向代理?Nginx反向代理如何配置?

正向代理和反向代理的区别

简单的区别方法是正向代理位于客户端前面,确保服务器不直接与客户端通信。而反向代理位于服务器前面,并确保没有客户端直接与该服务器通信。

用两张图形象解释一下:

正向代理就好像,一个公司老板要去某个工地上要钱,老板不直接去,会派公司代表去,这个公司的代表其实就是代理服务器,代公司去处理事务,这个对于老板——>工地是正向代理的关系。

什么是反向代理?Nginx反向代理如何配置?

反向代理就好像,去要钱的时候,工地很聪明,知道自己不想那么烦,就找了一个代账公司,这个代账公司对外就是代表这个工地,所以看起来和公司主体没有啥区别,那么这个代账公司就是反向代理的服务器。

什么是反向代理?Nginx反向代理如何配置?

Nginx反向代理

Nginx是一个开源的 Web 服务器,可以作为反向代理,根据知名统计网站统计,Nginx 的市场份额一直在稳步增长,并且已经超过 Apache:

什么是反向代理?Nginx反向代理如何配置?
什么是反向代理?Nginx反向代理如何配置?

Nginx 反向代理用途

  • 负载均衡来控制路由传入请求
  • 监控、重定向和记录流量
  • 公开/保护您的后端服务
  • 加快网络访问速度

Nginx反向代理例子

什么是反向代理?Nginx反向代理如何配置?

如图,我们要达到一个效果,访问127.0.0.1:9999,反向代理到我们的网站https://www.wljslmz.cn.

先看下nginx的配置:

server {
   listen 9999;
   server_name localhost;
   location / {
        proxy_pass https://www.wljslmz.cn;
   }
}
  • listen:表示nginx监听的端口,也就是你在浏览器输入的端口号。
  • server_name:表示nginx监听的地址,也就是你在浏览器输入的地址或者域名
  • location:用来匹配不同的url,这里/代表根路径。
  • proxy_pass:代理的指令,我们这里是代理到https://www.wljslmz.cn

这个时候,重载nginx配置,然后在浏览器输入:

http://localhost:9999
什么是反向代理?Nginx反向代理如何配置?
什么是反向代理?Nginx反向代理如何配置?

我们可以很清晰的看到代理成功!

这里我们通过案例,简单的介绍了nginx的反向代理,在生产测试的时候,还要根据不同的场景进行配置。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK