Nginx如何反向代理网站和设置虚拟主机

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://dgd2010.blog.51cto.com/1539422/1394103

反向代理的应用举例:
反向代理服务器对于用户而言,用户并不清楚自己的访问的服务器(网站)是否是真的要访问的网站还是代理的网站,只有反向代理出错或者用户熟悉该网站的一些标签性质的信息时用户才可能意识到自己实际是在访问一个代理服务器。    
反向代理服务器往往用于提高内网服务器的安全性,但不局限于此。通过代理不仅隐藏了真实服务器的位置和系统信息,而且往往代理服务器本身的安全性被管理员配置得比较高,因此很难被攻入。比如反向代理服务器位于经过安全加固了的Linux服务器上,去代理一个Windows服务器上的网站,那实际上就降低了那台Windows服务器的安全风险。    
# 反向代理其他网站服务器
# proxy reverse setting.
server {    
       listen       port;    
       server_name  domainname(FQDN);    
       location / {    
           proxy_pass http://{ipaddress | domainname(FQDN)};    
           proxy_set_header Host $host;    
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
       }    
}    
# 虚拟主机设置
# vhost setting
server    
       {    
               listen       port;    
               server_name {ipaddress | domainname(FQDN)};    
               index index.html index.htm index.php default.html default.htm default.php; # 根据需要选择顺序    
               root  /web contents path;    
               include none.conf;    
               location ~ .*\.(php|php5)?$    
                       {    
                               try_files $uri =404;    
                               fastcgi_pass  unix:/tmp/php-cgi.sock;    
                               fastcgi_index index.php;    
                               include fcgi.conf;    
                       }    
               location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$    
                       {    
                               expires      30d;    
                       }    
               location ~ .*\.(js|css)?$    
                       {    
                               expires      12h;    
                       }    
               access_log off;    
       }    
附:httpd.apache.org的官方安全建议(http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#access):    
Strictly limiting access is essential if you are using a forward proxy (using the ProxyRequests directive). Otherwise, your server can be used by any client to access arbitrary hosts while hiding his or her true identity. This is dangerous both for your network and for the Internet at large. When using a reverse proxy (using the ProxyPass directive with ProxyRequests Off), access control is less critical because clients can only contact the hosts that you have specifically configured.    
严格限制出入站是必不可少的,如果你使用的是正向代理(使用ProxyRequests指令)。则你的服务器可以让使用任何客户端的用户访问任意主机,而他或她的真实身份将被隐藏(客户端都被认为是代理服务器在访问任意主机)。这对于为大型的网络和互联网应用来说是很危险的。    
而当使用反向代理(使用的ProxyPass指令ProxyRequests关闭),访问控制是至关重要的,因为客户端只能访问专门配置的反向代理服务器主机。

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1394103

目录
相关文章
|
1天前
|
负载均衡 应用服务中间件 网络安全
|
20天前
|
缓存 负载均衡 应用服务中间件
Nginx如何反向代理后端服务?
【7月更文挑战第7天】
29 1
Nginx如何反向代理后端服务?
|
20天前
|
缓存 负载均衡 应用服务中间件
Nginx反向代理优化
教你如何做好Nginx反向代理优化
|
25天前
|
JavaScript 应用服务中间件 nginx
【项目部署系列教程】5. nginx配置反向代理,解决跨域接口的访问
【项目部署系列教程】5. nginx配置反向代理,解决跨域接口的访问
48 10
|
21天前
|
应用服务中间件 Linux nginx
CentOS 7 上配置 Nginx 作为反向代理
在CentOS 7上设置Nginx反向代理的步骤:安装Nginx;启动Nginx服务编辑`/etc/nginx/nginx.conf`;添加`proxy_pass http://app_server_address;将请求转发至应用服务器;重启Nginx`sudo systemctl restart nginx`;验证配置是否成功
|
22天前
|
前端开发 JavaScript 应用服务中间件
Nginx 开启 gzip 压缩,让网站飞一会!
一起来了解下nginx的gzip压缩
36 3
|
24天前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
1月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
97 3
|
29天前
|
JSON 负载均衡 应用服务中间件
Nginx反向代理与负载均衡
Nginx反向代理与负载均衡
|
1月前
|
缓存 负载均衡 应用服务中间件
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
29 0