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

简介:
反向代理的应用举例:
反向代理服务器对于用户而言,用户并不清楚自己的访问的服务器(网站)是否是真的要访问的网站还是代理的网站,只有反向代理出错或者用户熟悉该网站的一些标签性质的信息时用户才可能意识到自己实际是在访问一个代理服务器。    
反向代理服务器往往用于提高内网服务器的安全性,但不局限于此。通过代理不仅隐藏了真实服务器的位置和系统信息,而且往往代理服务器本身的安全性被管理员配置得比较高,因此很难被攻入。比如反向代理服务器位于经过安全加固了的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关闭),访问控制是至关重要的,因为客户端只能访问专门配置的反向代理服务器主机。





本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1394103,如需转载请自行联系原作者


相关文章
|
4月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
751 20
|
6月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
381 60
|
6月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
468 60
|
5月前
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
272 11
|
5月前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
373 13
|
5月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
215 5
|
缓存 监控 应用服务中间件
|
缓存 监控 应用服务中间件
|
6月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
359 7
|
7月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解