如何搭建web服务器 使用Nginx搭建反向代理服务器

转载   如何搭建web服务器 使用Nginx搭建反向代理服务器 :   http://blog.csdn.net/w13770269691/article/details/6977727

引言:最近公司有台服务器遭受DDOS攻击,流量在70M以上,由于服务器硬件配置较高所以不需要DDOS硬件防火 墙。但我们要知道,IDC机房是肯定不允许这种流量一直处于这么高的,因为没法具体知道后面陆续攻击的流量会有多大,如果流量过大就会导致整个IDC网络 瘫痪。我们都知道北方的数据中心和南方的数据中心从带宽出口上来讲南方多数机房完全有能力扛得住DDOS攻击,东莞的电信机房就不错。有朋友说过面对这种 攻击可以在南方电信在放一台服务器,然后做个反向代理;令我不解的是倘若再在南方放一台服务器,然后在南方电信服务器上做反向代理的话北方的用户访问速度肯定会很慢(南方机房多为电信单线,北京的多为双线或BGP线路)。好了,我们言归正传,不管用反向代理是怎么去实现,首先我们要解决的是如何搭建一台反向代理服务器,免得临时抱佛脚。

  首先我们来看理解一下什么是反向代理,如下图:当客户机向站点发出请求时,请求将转到代理服务器,然后然后代理服务器将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户,对于访问服务器的用户来讲,此时的代理服务器对外就表现为一台服务器;我们还可以在反向代理服务器上加上一些策略,这样就对web服务器进行了一种安全保护,即使用户想入侵网站,也无法到达web服务器;反向代理服务器后端还可以放置多台web服务器,从而可以减轻网站压力,起到集群作用

我们都知道Nginx是一款非常不错的程序,其最大的优点就是能承载高并发连接,这次我们就用Nginx来做一台反向代理服务器

  环境描述:反向代理服务器为Linux系统,安装有Nginx;web服务器为windows系统,装有IIS

首先我们在Nginx上设置反向代理,修改Nginx配置文件,将如下部分删除

删除完成后添加内容如下: server name 在真实环境中需要设置域名,因为我们实际访问网站很少用IP,proxy_pass 为web服务器的地址,如web服务器的网站用的是8080端口,那么我们的 proxy_pass 的格式就是

  server

  {

  listen 80;

  server_name 192.168.1.20; //反向代理服务器IP

  location / {

  proxy_pass http://192.168.1.10; //web服务器IP

  proxy_redirect off;

  proxy_set_header X-Real-IP $remote_addr;

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }

  #error_page 404 /404.html;

设置完成后执行/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示进行修改。检查配置文件无误后杀死Nginx进程,然后重新启动Nginx。这时候客户端访问192.168.1.20这台服务器得到的就是192.168.1.10服务器上面的内容了。

  如下图,用户在访问192.168.1.20时,192.168.1.10这台服务器的IIS记录了访问日志,显示的均为192.168.1.20访问的,而不是客户端

时间: 2024-10-14 02:21:34

如何搭建web服务器 使用Nginx搭建反向代理服务器的相关文章

Win10搭建web服务器步骤

1.首先打开开始菜单中的控制面板选择,在控制面板中选择并打开"程序",找到并双击"打开或关闭Windows功能",在弹出的窗口中选择"Internet信息服务"下面所有选项,点击确定,然后就会开始更新服务,等待一会: 2.等待更新完成之后,打开浏览器,在浏览器地址栏上输入"http://localhost/",然后回车,如果此时出现IIS7欢迎界面,说明Web服务器已经搭建成功. 3.当web服务器搭建成功后,下一步要做的就是

轻松使用Nginx搭建web服务器

如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,"一哥"( W3Techs网站数据的排名)啦 今天小编要介绍后起之秀nginx来实现web服务器.小编在前面的博客中也详细的聊过apache的使用,如今又来说nginx的使用,读者可能以后搭建web服务器的话就不知道选用哪一种,O(∩_∩)O~,别急,小编这就来给读者分析一下Nginx和Apache区

阿里云CentOS搭建wordpress的Web服务器环境(nginx+php+mysql)

本博客每天会坚持写一篇原创技术文章,每天积累一点,每天进步一点. 在linux服务器搭建web服务器环境是做网站的基础功底,根据服务器端使用的编程语言不同有不同的搭建方法,比如服务器采用PHP,Java,Python,Ruby,Go语言等,本文就基于php的wordpress程序的服务器环境搭建做一些简单的探讨,如有遗漏和错误,欢迎大家进行指正和补充. Nginx安装 1,yum命令安装:yum install nginx2,测试nginx启动状态:service nginx status3,测

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)

Web服务器集群搭建

前言:本文记述了搭建一个小型web服务器集群的过程,由于篇幅所限,系统.软件的安装和基本配置我这里就省略了,只记叙关键配置和脚本内容.假如各位朋友想了解各软件详细配置建议查阅官方文档. 一 需求分析: 1.整体需求:搭建一个高可用的网站服务器集群,能承受高并发请求,能抵御一般的网络攻击,任何一台服务器的退服不影响整个集群的运作,并且能对各服务器的运行情况作出实时监控. 2.详细需求分析: 根据需求,计划根据以下拓扑搭建运行环境: 二 详细功能描述: 1.前端服务器采用nginx实现反向代理和负载

Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 (全网最全)

Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 (全网最全) 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? 一个是因为主流的云服务器太贵,买个低配的容易崩,听说 Linux 比较稳定,之后 2.PHP 和 Apache 啥关系? 一说到 php, ?很多人会本能地想到 apache, 其 php 和 apache 没有半毛钱的关系 php 是语言, 而apache是web服务器 3.Wha

简单搭建web服务器

第一章实验(一):搭建web服务器 1.环境准备: 开启一台centos6.5系统的虚拟机作为web服务器,确认ip地址为192.168.100.150,网关为192.168.100.100,dns为192.168.100.100. 另外一台同样系统的虚拟机,ip地址为192.168.100.100  作为dns服务器 首先设置主机名,保证主机名和web服务器的域名相同: [[email protected] ~]# cat /etc/sysconfig/network   ##设置主机的FQD

20秒搭建web服务器,跨平台(mac,window)

服务器: http-server 问题: 其实搭建web服务器有很多种方法,比如: 1.本地的 apache, nginx 2.自己下载安装一个软件,如phpServer 3.node.js 静态web服务器 (页面加载图片时不方便) 4.http-server(推荐) 5.发布到远程服务器 解答: 推荐http-server的原因: 1.零配置 2.安装方便,只需要输入一句命令即可全局安装:    npm install http-server -g 3.使用简单,只要输入一条命令即可: ht

NodeMCU入门(4):搭建Web服务器,配置网络连接

准备工作 1.NodeMCU模块 2.ESPlorer v0.2.0-rc6 3.NodeMCU-HTTP-Server 搭建web服务器 下载https://github.com/wangzexi/NodeMCU-HTTP-Server文件,并上传到NodeMCU中 修改init.lua文件,可参看NodeMCU-HTTP-Server Example -- init.lua --------------------- -- wifi --------------------- print('