十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占用内存少,并发能力强,是我们在Web开发中最常用的工具之一。那么Nginx反向代理的主要作用有哪些?有几种常用模式呢?下面一起来了解下。
创新互联是一家专业提供景洪企业网站建设,专注与网站设计、网站制作、H5技术、小程序制作等业务。10年已为景洪众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
Nginx反向代理的主要作用
Nginx配置反向代理时,是安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,Nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。
此外,Nginx能提供性能稳定、并且提供配置灵活的转发功能。它可以根据不同的正则匹配,采取不同的转发策略,并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,它可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
相关阅读:《Nginx反向代理服务器配置教程》
Nginx反向代理的三种模式
1、基于IP代理
2、基于域名代理
3、基于端口代理
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
charset utf-8;
include mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
# log_format main ‘remote_addr=$remote_addr:$remote_port, http_x_forwarded_for=$http_x_forwarded_for, proxy_add_x_forwarded_for=$proxy_add_x_forwarded_for ‘;
access_log logs/access_format.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on
# 原始server
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
# 引入自定义的server配置
include my-proxy-server.conf;
}
my-proxy-server.conf
基于端口代理
server {
listen 81;
server_name localhost;
location / {
proxy_pass http://192.168.0.153:9091;
proxy_redirect default;
}
location = /50x.html {
root html;
}
}
server {
listen 82;
server_name localhost;
location / {
proxy_pass http://git.itplh.com;
proxy_redirect default;
}
location = /50x.html {
root html;
}
}
# 基于域名代理 gitlocal负载均衡
upstream gitlocal{
server 192.168.0.153:9091;
server 192.168.0.154:9091;
server 192.168.0.155:9091;
}
upstream gitbj{
server git.itplh.con;
}
server {
listen 80;
server_name gitlocal.com;
location / {
proxy_pass http://gitlocal;
proxy_redirect default;
}
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name gitbj.com;
location / {
proxy_pass http://gitbj;
proxy_redirect default;
}
location = /50x.html {
root html;
}