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,如需转载请自行联系原作者


相关文章
|
3月前
|
应用服务中间件 nginx
百度搜索:蓝易云【如何用NGINX实现UDP四层反向代理?】
请注意,这个回答是基于NGINX目前的特性和功能,如果有新的版本或更新的特性,建议查阅NGINX官方文档或其他权威资源,以确保你得到最准确的配置信息。
33 0
|
3月前
|
JSON 应用服务中间件 API
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
93 1
|
3月前
|
负载均衡 应用服务中间件 nginx
nginx-tomcat反向代理以及负载均衡测试
nginx-tomcat反向代理以及负载均衡测试
|
15天前
|
域名解析 Ubuntu 应用服务中间件
Nginx实现虚拟主机
Nginx实现虚拟主机
|
15天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
22 0
|
1月前
|
负载均衡 应用服务中间件 nginx
|
1月前
|
Unix 应用服务中间件 Linux
nginx的CPU亲和性设置和优先级设置
nginx的CPU亲和性设置和优先级设置
|
1月前
|
负载均衡 应用服务中间件 Linux
|
2月前
|
tengine Rust 负载均衡
反向代理学习笔记(一) Nginx与反向代理绪论
反向代理学习笔记(一) Nginx与反向代理绪论
|
2月前
|
负载均衡 Java 应用服务中间件