西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > linux教程 >

Nginx和Apache服务器上配置反向代理示例

时间:2016-08-08 07:40来源:未知 作者:好模板 点击:
在实际项目过程中,由于网站要用到一个在线编辑器(个性化的在线编辑软件),需要跨域进行通信!由于跨域通信较多,所以当时就想到在网站服务器上代理编辑软件的请求! 这就是

在实际项目过程中,由于网站要用到一个在线编辑器(个性化的在线编辑软件),需要跨域进行通信!由于跨域通信较多,所以当时就想到在网站服务器上代理编辑软件的请求!

这就是“反向代理”的实际需求!

一、Nginx上配置反向代理

        location /edit/ {
                proxy_pass  http://edit.host.net/;
                #Proxy Settings
                proxy_redirect     off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header   Accept-Encoding "";
                proxy_set_header   X-NginX-Proxy true;
                proxy_http_version 1.1;
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 
          proxy_max_temp_file_size    0;
                proxy_connect_timeout      90;
                proxy_send_timeout         90;
                proxy_read_timeout         90;
                proxy_buffering            off;
                proxy_buffer_size          4k;
                proxy_buffers              4 32k;
                proxy_busy_buffers_size    64k;
        }

在实际配置过程中,发现在线编辑软件的静态资源文件加载不进来(比如css、js、图片等),后来发现编辑器静态资源的链接都是用的相对路径!当时认为是路径问题,就在

proxy_pass 的域名后面加了“/”,目的是从根路径下引用资源文件!但是测试后发现还是存在一样的问题!最后各种尝试后,发现是以下几行配置文件:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
      expires 30d;
 }

location ~ .*\.(js|css)?$
{
       expires 1h;
}    

就是上面的几行配置影响了静态资源的代理路径,导致静态资源加载不到(404错误)!

 

二、Apache上配置反向代理

在Apache配置反向代理相对比较简单了,直接贴配置代码:

<VirtualHost *:80>
    DocumentRoot "D:\phpStudy\WWW\git ecshop"
    ServerName http://local.www.ldhost.cn
    ServerAlias 
     ProxyRequests On
    RewriteEngine off
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    ProxyPass /edit http://edit.host.net/
    ProxyPassReverse /edit http://edit.host.net/  
  <Directory "D:\phpStudy\WWW\git ecshop">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

当然,对应服务器支持反向代理的模块需要开启哦!这个一定不要忘记了!

 

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容