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


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

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

    一、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:phpStudyWWWgit ecshop"
        ServerName http://local.shop.tuwen.com
        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:phpStudyWWWgit ecshop">
          Options FollowSymLinks ExecCGI
          AllowOverride All
          Order allow,deny
          Allow from all
          Require all granted
      </Directory>
    </VirtualHost>

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

  • 相关阅读:
    刷新或关闭时调用onbeforeunload
    单词换行问题
    PhpStorm提高效率的使用方法及设置
    高质量代码编写
    数组去重
    HMTL5 本地数据库
    Html5 本地存储
    php array(object) 与xml相互转换
    pwnable.kr之leg
    文件上传漏洞及其绕过
  • 原文地址:https://www.cnblogs.com/itsharehome/p/5727047.html
Copyright © 2020-2023  润新知