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

服务器 服务器产品
在开始本文前,请先保证你的服务器已经安装好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的反向代理,在生产测试的时候,还要根据不同的场景进行配置。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2023-12-05 09:14:54

2014-04-29 14:54:48

Nginx反向代理

2011-08-30 11:32:53

UbuntuNginx

2021-03-16 21:42:37

反向代理正向代理

2023-09-13 07:16:31

Ngnix代理服务器

2020-10-22 08:05:46

Nginx

2018-11-12 12:17:00

2019-06-19 15:34:39

Nginx反向代理负载均衡

2012-12-07 10:14:48

Nginx负载均衡

2024-08-07 14:56:00

Nginx反向代理配置

2016-09-07 18:57:48

2024-02-01 08:32:03

Nginx服务器代理

2020-08-06 08:23:24

Nginx反向代理Web安全

2023-09-08 00:07:41

2024-07-22 15:34:25

2017-09-06 10:14:29

Nginx TCPmail邮件

2023-10-17 08:36:28

Nginx代理服务器

2019-07-09 15:10:02

Nginx反向代理负载均衡

2017-12-18 12:04:02

Nginx代理均衡

2019-11-04 15:35:53

Nginx反向代理负载均衡
点赞
收藏

51CTO技术栈公众号