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


相关文章
|
8天前
|
网络协议 安全 应用服务中间件
阿里云 网站https设置 sll申请与nginx跳转配置
阿里云 网站https设置 sll申请与nginx跳转配置
|
8天前
|
应用服务中间件 nginx Windows
nginx实现网站url带参跳转 POST请求GET请求跳转
nginx实现网站url带参跳转 POST请求GET请求跳转
|
13天前
|
缓存 算法 应用服务中间件
nginx 反向代理 与缓存功能
nginx 反向代理 与缓存功能
|
12天前
|
应用服务中间件 nginx
nginx指定location 实现反向代理 动静分离
nginx指定location 实现反向代理 动静分离
|
24天前
|
负载均衡 安全 应用服务中间件
nginx配置ssl和反向代理的配置代码
【5月更文挑战第2天】nginx配置ssl和反向代理的配置代码
53 3
|
29天前
|
网络协议 应用服务中间件 nginx
nginx 302 301 设置 url 转跳 nginx 资源重定向 nginx tcp 和 http 转发
nginx 代理后端网站,和 网站资源目录重定向到其他连接地址
111 3
|
29天前
|
域名解析 弹性计算 应用服务中间件
基于nginx反向代理实现OSS固定域名IP访问
本文基于阿里云OSS手册:https://help.aliyun.com/zh/oss/use-cases/use-an-ecs-instance-that-runs-centos-to-configure-a-reverse-proxy-for-access-to-oss,继续深入讨论如何利用nginx反向代理,实现固定的IP/域名访问OSS bucket。官方文档能够解决大部分的反向代理固定IP访问oss bucket的场景,但是对于必须使用域名作为endpoint的系统,会出现signatrue鉴权问题。本文继续在官方文档的基础上,将反向代理需要域名作为endpoint的场景补齐方案。
|
29天前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
15 0
|
29天前
|
负载均衡 监控 Unix
[AIGC] Nginx:一个高性能的 Web 服务器和反向代理
[AIGC] Nginx:一个高性能的 Web 服务器和反向代理
|
29天前
|
前端开发 应用服务中间件 网络安全
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
264 0