• apache设置反向代理实现前端js跨域访问


    前端用veu跨域访问接口,在dev模式下的时候使用proxyTable代理,但是在打包上线是发现还是出现了跨域问题。

    果然,proxyTable只能在dev模式使用,解决跨域问题还是要配置服务器的代理。

    服务器是Apache,从网上找到的资料,设置的方法如下。

    https://segmentfault.com/a/1190000007352990

    1. 在xampp或者wamp安装目录下,修改httpd.conf配置文件,去掉以下两行前面 # 号,从而启用Apache proxy module。

    LoadModule proxy_module modules/mod_proxy.so 
    LoadModule proxy_http_module modules/mod_proxy_http.so  
    

      

    Ubuntu: 

    sudo apt-get install libapache2-mod-proxy-html
    sudo apt-get install libxml2-dev
    sudo a2enmod proxy proxy_http

    2. 找到httpd-vhosts.conf配置文件,在virtualHost里面配置反向代理,完成之后的配置代码如下:

    <VirtualHost *:80>
      ServerName www.name.local
      DocumentRoot D:WWW ame
      <Directory D:WWW ame>
        Options Indexes FollowSymLinks ExecCGI
        AllowOverride all
        Order deny,allow
        allow from all
      </Directory>


      ProxyRequests Off
      <Proxy *>
        Order deny,allow
        Allow from all
      </Proxy>

      ProxyPass /api http://baidu.com/api

    </VirtualHost>

    • ProxyRequests Off 指令是指采用反向(reverse)代理
    • ProxyPass 指令允许将一个远端服务器映射到本地服务器的 URL 空间中。
    • 配置完成之后,访问 http://www.name.local/api 实际就是访问http://baidu.com/api上的资源。

    3. 重启Apache,重命名之前本地的后端代码文件夹(反正让本地后端代码不能够正常运行即可),然后测试一下看api数据读取是否正常。若api数据读取正常,那么Apache反向代理设置成功并且正常工作。

     
  • 相关阅读:
    S3:代理模式 Proxy
    S2:外观模式 Facade
    S1:适配器 Adapter
    C5:单例模式 Singleton
    C4:原型模式 Prototype
    C3:建造者模式 Builder
    C2:抽象工厂 Abstract Factory
    C1:工厂模式 Factory
    设计模式分类
    数据访问对象模式
  • 原文地址:https://www.cnblogs.com/jiangxiaochang/p/8579665.html
Copyright © 2020-2023  润新知