请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

项目部署到云服务器访问问题

请老师帮忙定位一下问题,部署在ubuntu服务器,静态文件放在了/var/www/html/sell下

通过git拉取代码启动express服务,prod.server.js复制的老师的代码,并且修改了assetsPublicPath: ''

部署到服务器nginx.conf配置如下

https://img1.sycdn.imooc.com//szimg/5b422b480001045106350308.jpg

访问http://zgd666.cc/可以重定向到我的github...

用域名访问http://zgd666.cc/sell/  直接返回404错误  Cannot GET /   127.0.0.1:9000端口拦截?

感觉这句没有生效

router.get('/', function (req, res, next) {

req.url = '/index.html';

next();

});

直接访问http://zgd666.cc/sell/api/seller 时网页可以正常返回json数据,也就是express服务没问题

https://img1.sycdn.imooc.com//szimg/5b422c18000132a805430597.jpg

ip地址访问http://154.8.140.180/sell 可以访问到静态页面,但是ajax数据没请求回来

https://img1.sycdn.imooc.com//szimg/5b422bf80001da8a07960797.jpg

实在是找不到问题了,老师帮忙看一下

正在回答 回答被采纳积分+3

2回答

ustbhuangyi 2018-07-09 12:22:57

跨域问题,你请求的这个接口地址没有允许跨域访问

1 回复 有任何疑惑可以回复我~
  • 提问者 stupidzgd #1
    我这里截图截了不同的测试方法,http://zgd666.cc/sell/  使用域名访问会直接Cannot GET / 感觉还是路径哪里没配置对,后台服务和nginx都部署在了zgd666.cc对应的服务器上,应该代码里也把ajax请求的地址都改成了http://zgd666.cc/sell/api/seller域名的形式,应该就不存在跨域了,看一下下面console的报错。。感觉是路径哪里不对
    回复 有任何疑惑可以回复我~ 2018-07-09 17:27:51
  • 提问者 stupidzgd #2
    用域名访问/sell 是404错误没有找到页面,走的应该是express这个路由吧,express这块还不太明白
     router.get('/', function (req, res, next) {
    
    req.url = '/index.html';
    
    next();
    
    });
    回复 有任何疑惑可以回复我~ 2018-07-09 18:09:04
  • 提问者 stupidzgd #3
    http://zgd666.cc/sell/api/seller  是可以拿到json数据的,证明nginx里配置的proxy_pass http://127.0.0.1:9000/生效了,现在问题就是http://zgd666.cc/sell/不返回外卖页面,而是直接404
    回复 有任何疑惑可以回复我~ 2018-07-09 19:23:59
提问者 stupidzgd 2018-07-09 17:30:54

//img1.sycdn.imooc.com//szimg/5b432adf0001bbf802980123.jpg

nginx里配置/ rewrite到github,这里访问的是sell,这个提示不知道是什么意思,是不是nginx.conf写错了

//img1.sycdn.imooc.com//szimg/5b432adf00019b7405580064.jpg

//img1.sycdn.imooc.com//szimg/5b432b480001548d05000243.jpg

把rewrite重定向部分注销掉,只保留location /seller/那部分,访问http://zgd666.cc/sell/,如下

Cannot GET /

https://img1.sycdn.imooc.com//szimg/5b432ff900015cf805900492.jpg



0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信