我想訪問本地 http://localhost:8080/xxxx 指向 http://xingke.iask.in/xxx 這樣就不存在跨域問題了。
但是我設定apache代理的時候 沒設定對。存取還是指向的本機
apache vohosts
<VirtualHost *:80>
ServerAdmin wx@qq.com
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錯誤了,服務也不能訪問了 該怎麼設定呢! ! !
为情所困2017-05-16 16:59:16
本地請求不應該是 localhost 嗎? Apache 的 proxy 是不是回傳 30x 跳轉了,如果是,結果還是跨域請求,如果用 nginx 設定代理,不會回傳 30x 跳轉。
建議可以考慮使用 nginx 設定代理,可參考:
https://zhuanlan.zhihu.com/p/...
漂亮男人2017-05-16 16:59:16
提供給你參考,以下是我在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
}
}