首页 新闻 会员 周边 捐助

nginx反向代理跳转问题

0
悬赏园豆:100 [已解决问题] 解决于 2015-10-26 13:56

问题是这样的:我购买相关商品(由于是用账户余额购买,所以不用第三方支付等),购买成功以后跳转到一个购买成功页面。。。。。。。

例如:我购买前的页面是http://www.temp.com/Payment/Pay

然后购买成功后,会通过这样的代码跳转:

string url  = Url.Action("Success", new
                {
                    userID = userID
                });
                return Redirect(url );

正常应该跳转到http://www.temp.com/Payment/Success?userid=123 ,但是现在却跳转到了这样的地址:http://www.temp.com:809/Payment/Success?userid=123 ,

多加了一个809端口,这样导致根本找不到这个页面,有人遇到这个问题么?

顾晓北的主页 顾晓北 | 专家六级 | 园豆:10893
提问于:2015-08-10 14:07
< >
分享
最佳答案
0

你看看能否在这里使用相对路径,如果用觉得的url的话,导致你真正的请求是通过nginx转发的,而你的程序却不知道,导致根路径取错了。

收获园豆:40
幻天芒 | 高人七级 |园豆:37205 | 2015-08-10 14:34

这个地方确实是使用的相对路径,代码中得到的url就是/Payment/Sucess?userid=123

这意思是nginx转发的请求,我程序是不知道的?

顾晓北 | 园豆:10893 (专家六级) | 2015-08-10 14:48

@顾晓北: 程序肯定不知道是不是转发来的呀,我感觉你那么url应该是个绝对路径才对。我搞个mvc项目试试

幻天芒 | 园豆:37205 (高人七级) | 2015-08-10 14:54

@幻天芒: 我得到的url是相对路径是没错的,就是/Payment/Sucess?userid=123 ,浏览器不知道是不是转发过来的也没错。但是现在我是不知道该如何去解决这个问题,因为我没折腾过nginx,nginx也不是我配置的。。。

顾晓北 | 园豆:10893 (专家六级) | 2015-08-10 15:04

@顾晓北: 我测试过了,正确的nginx配置是不会出现错误的,怀疑是配置问题。

幻天芒 | 园豆:37205 (高人七级) | 2015-08-10 17:24

@幻天芒: 问过了相关同事,说这个nginx两台服务器的端口都是809,貌似是有其他站点用到了80端口,估计这个配置是改不了了,那这样的话,这种跳转只能是自己手动去掉端口号了吧?

顾晓北 | 园豆:10893 (专家六级) | 2015-08-17 15:51

@顾晓北: 我一般的做法是nginx监听80,然后其他请求全部通过nginx转发。

幻天芒 | 园豆:37205 (高人七级) | 2015-08-17 20:22

@幻天芒: 反正我也不太明白,80的跟这个809的端口的项目虽然不是一个,但域名是一个,为什么不配置成都是80?反正我是不太明白。。。

顾晓北 | 园豆:10893 (专家六级) | 2015-08-18 09:19

@顾晓北: 我想,是不是可以nginx转发请求到nginx。。

幻天芒 | 园豆:37205 (高人七级) | 2015-08-18 09:43
其他回答(1)
0

我觉得你是nginx配置出错了

收获园豆:30
MrNice | 园豆:3468 (老鸟四级) | 2015-08-10 17:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册