D1V1网社区 @开门芝麻网 吃饭赚钱 睡觉赚钱 做梦赚钱 http://sns.d1v1.com & http://www.KaiMenZhiMa.com/

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11260|回复: 0

Nginx+Discuz无法登陆后台解决办法

[复制链接]
发表于 2014-12-16 11:32:29 | 显示全部楼层 |阅读模式 <
开门芝麻网
连劲智播AI智能自动播实景无人直播(APP免费注册下载)http://kaimenzhima.com/forum.php?mod=viewthread&tid=1
Nginx+Discuz无法登陆后台解决办法
                                                                          由于性能问题,将Web server从Apache切换成Nginx,通过修改rewrite规则后,网站工作正常,但是却无法登陆后台,切换成Apache就完全正常。
经过咨询“有颜色的猫”,小猫提及了几点:1、IPv6地址问题,2、Discuz自己实现的Session,后台登陆的时候会检查用户的IP地址是否和Session里面的IP地址一致。沿着小猫同志的方向,最终解决后台登陆问题。
由于该服务器上部分网站需要支持IPv6访问,于是Nginx必须监听IPv6端口,此时,Nginx识别IPv4地址为:::ffff:192.168.129.48,在地址前面增加:::ffff: ,了解IPv6的都知道这是什么意思,但是Discuz却识别不了这个IP地址。
Discuz是这么保存地址的,如果用户的IP地址是:192.168.129.48,Discuz用4个字段来保存这个IP地址,分别为:ip1 ip2 ip3 ip4,他们的值分别为:192 168 129 48。
解决办法:
让Nginx告诉fastcgi用户的IP地址为标准的IPv4地址即可。
修改fastcgi.conf文件的内容,增加:
1
2
3
4
5
6
7
8
# remove ^::ffff: for IPv4 Address.
set $remote_addr_new $remote_addr;
if ($remote_addr ~* ^::ffff.*))
{
set $remote_addr_new $1;
}

fastcgi_param  REMOTE_ADDR        $remote_addr_new;




开门芝麻网
部分内容由网友发布或收集于互联网,如有侵权,请联系QQ/微信76815288,第一时间删除!(开门芝麻网 sns.d1v1.com)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
400-888-xxxx

微信扫一扫,私享最新原创实用干货

QQ|申请友链|Archiver|手机版|小黑屋|D1V1网社区 @开门芝麻网 ( 沪ICP备15050032号-2 )

GMT+8, 2024-11-27 11:02 , Processed in 0.119380 second(s), 30 queries .

Powered by Discuz! X3.4 Designed by www.D1V1.cn

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表