vue.js - vue apache 代理設置
問題描述
我想訪問本地 http://localhost:8080/xxxx 指向 http://xingke.iask.in/xxx 這樣就不存在跨域問題了。但是我設置apache代理的時候 沒設置對。訪問還是指向的本地apache vohosts
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot 'D:/Develop/WWW/Online/Hphp/Public' ServerName xingke.iask.in ServerAlias xingke.iask.in #代理 ProxyPass / http://xingke.iask.in/ ProxyPassReverse / http://xingke.iask.in <proxy http://xingke.iask.in> AllowOverride None Order Deny,Allow Allow from all </proxy> ErrorLog 'logs/dummy-host2.xingke.iask.in-error.log' CustomLog 'logs/dummy-host2.xingke.iask.in-access.log' common</VirtualHost>
本地請求地址:http://xingke.iask.in/home/in... 然后報以下錯誤
這里報500錯誤了,服務也不能訪問了 應該怎么設置呢!!!
問題解答
回答1:本地請求不應該是 localhost 嗎?Apache 的 proxy 是不是返回 30x 跳轉了,如果是,結果還是跨域請求,如果用 nginx 設置代理,不會返回 30x 跳轉。
建議可以考慮使用 nginx 設置代理,可參考:
https://zhuanlan.zhihu.com/p/...
回答2:提供給你參考,下面是我在dev開發的適合設置的代理,基于vue-cli,在config目錄的index.js
// see http://vuejs-templates.github.io/webpack for documentation.var path = require(’path’)module.exports = { build: { env: require(’./prod.env’), index: path.resolve(__dirname, ’../dist/index.html’), assetsRoot: path.resolve(__dirname, ’../dist’), assetsSubDirectory: ’static’, assetsPublicPath: ’/’, productionSourceMap: true, // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: [’js’, ’css’] }, dev: { env: require(’./dev.env’), port: 8080, assetsSubDirectory: ’static’, assetsPublicPath: ’/’, proxyTable: { //login-controller begin ’/OSSCallbackServer’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/forbidden’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/getPolicy’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/login’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/logout’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/read/current’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/regin’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/unauthorized’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //scheduled-controller ’/scheduled/close/task’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/del/task’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/open/task’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/read/log’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/read/tasks’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/run/task’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/scheduled/update/task’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //權限管理接口 ’/cache/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/update/menu’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/update/menu’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/update/role’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //部門管理接口 ’/dept/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dept/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dept/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dept/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dept/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //字典管理 ’/dic/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dic/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dic/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dic/read/key’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dic/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dic/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dicIndex/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dicIndex/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dicIndex/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dicIndex/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/dicIndex/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //菜單管理 ’/menu/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/menu/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/menu/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/menu/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/menu/read/permission’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/menu/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //系統參數管理 ’/param/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/param/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/param/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/param/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/param/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //角色管理 ’/role/add’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/read/permission’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/role/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //會話管理 ’/session/delete’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/session/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //用戶管理 ’/user/read/current’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/read/detail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/read/list’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/update’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/user/update/password’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //第三方登錄接口 ’/callback/qq’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/callback/sina’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/callback/wx’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/sns’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/sns_bind’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/sns_fail’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/sns_success’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, //文件上傳接口 ’/upload/image’: {target: ’http://172.16.0.98:8087’,changeOrigin: true }, ’/upload/imageData’: {target: ’http://172.16.0.98:8087’,changeOrigin: true } }, // CSS Sourcemaps off by default because relative paths are 'buggy' // with this option, according to the CSS-Loader README // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. cssSourceMap: false }}回答3:
cors跨域,順便得配置個p3p以讓IE支持跨域cookie
相關文章:
1. java - mongodb分片集群下,count和聚合統計問題2. javascript - vue 移動端的input 數字輸入優化3. java - 自己制作一個視頻播放器,遇到問題,用的是內置surfaceview類,具體看代碼!4. javascript - 有什么兼容性比較好的辦法來判斷瀏覽器窗口的類型?5. 服務器端 - 采用nginx做web服務器,C++開發應用程序 出現拒絕連接請求?6. 為什么我ping不通我的docker容器呢???7. python - pandas按照列A和列B分組,將列C求平均數,怎樣才能生成一個列A,B,C的dataframe8. 關于docker下的nginx壓力測試9. javascript - npm start 運行’webpack-dev-server’報錯 Cannot find module ’webpack’10. java 隨機延遲執行
