当前位置:首页 > 系统 > CentOS7 nginx反向代理

CentOS7 nginx反向代理

系统10个月前 (01-11)

CentOS7 nginx反向代理

nginx设置反向代理后,客户端只需要将请求发送到反向代理服务器lb,由反向代理服务器lb去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个逻辑服务器,仅仅对外暴露的是代理服务器地址,从而隐藏了真实服务器IP地址。这里用两台web服务器使用apache提供服务来模拟环境


拓扑

CentOS7 nginx反向代理


web1

hostnamectl --static set-hostname web1 && su
setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld.service && systemctl disable firewalld.service && systemctl status firewalld.service
yum install -y httpd
echo `hostname` >/var/www/html/index.html
systemctl start httpd & systemctl enable httpd


web2

hostnamectl --static set-hostname web2 && su
setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld.service && systemctl disable firewalld.service && systemctl status firewalld.service
yum install -y httpd
echo `hostname` >/var/www/html/index.html
systemctl start httpd & systemctl enable httpd


负载均衡器lb

客户端通过访问不同的端口来访问不同的服务器

hostnamectl --static set-hostname lb && su
setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld.service && systemctl disable firewalld.service && systemctl status firewalld.service
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx -y 
systemctl restart nginx && systemctl enable nginx
touch /var/log/nginx/10.log
touch /var/log/nginx/20.log
sed -i 's/remote_addr/http_x_real_ip/' /etc/nginx/nginx.conf

cat <<'EOF'  >/etc/nginx/conf.d/ReverseProxy.conf
server {
    listen 8080;
    server_name web1;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://172.16.1.10;
    }
    access_log /var/log/nginx/10.log;
}

server {
    listen 8090;
    server_name web2;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://172.16.1.20;
    }
    access_log /var/log/nginx/20.log;
}
EOF

systemctl restart nginx && systemctl enable nginx


客户端通过访问lb默认端口,访问不同的服务器

cat <<'EOF'  >/etc/nginx/conf.d/HA.conf
upstream HA-WEB {  
        server 172.16.1.10 weight=1 max_fails=1 fail_timeout=30;
        server 172.16.1.20 weight=1 max_fails=2 fail_timeout=30;
    }

server {
    listen    80;
    server_name  localhost;

    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://HA-WEB;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}
EOF


本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/os/478.html

相关文章

fedora23升级24

fedora23升级24

准备跨版本升级fedora23到24,先在su下安装跨版本升级插件dnf install dnf-plugin-system-upgrade然后输入需要升级的系统版本dnf&nbs...

Fedora 24 Grub2修复Win 7启动

Fedora 24 Grub2修复Win 7启动

首先查看Win7在磁盘中的UUID号,看到/dev/sda1中的,复制下来在/boot/grub2/grub.cfg添加以下语句osprpber-chain-添加UUID...

hmailserver使用McAfee VirusScan Enterprise无法外网发信

hmailserver使用McAfee VirusScan Enterprise无法外网发信

 服务器安装VSE之后,问题是内网--内网发信一切正常,内网--外网发信发不出去,也不提示失败。打开VSE控制台,右键“访问保护”--“属性”,找到“防病毒标准保护”,将“禁止群发邮件蠕虫发...

potplayer播放mkv不显示内置字幕和外挂字幕

potplayer播放mkv不显示内置字幕和外挂字幕

今天突然发现无论播放mkv的视频,外挂的字幕mkv或者是内嵌字幕mkv都无法显示字幕,系统为win10 64位,potplayer版本尝试过32位和64位,都无法解决。问题为播放avi,rmvb还比较...

修复升级EVE-NG后无法正常打开问题

修复升级EVE-NG后无法正常打开问题

升级流程Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.9.40-eve-ng-ukms+ x86_64) * Documentation:  ...

利用LVM特性对EVE-NG硬盘分区扩容

利用LVM特性对EVE-NG硬盘分区扩容

下载的EVE-NG镜像中,存放模拟器镜像的分区太小了,上传几个cisco和juniper的模拟器就快满了,所以需要使用lvm特性对ubuntu server的硬盘分区进行扩容,首先先将eve-ng虚拟...