网站后台访问出现:Access denied.

问题咨询 · testtv · 于 5年前 发布 · 6970 次阅读

按照教程一步步的操作,尝试在直接在京东云的服务器上部署了fecshop。

配置之后,appfront和apphtml5均可以访问,但是点击任意链接(例如一个商品)后跳转出现:404 Not Found.

以为是后台没有配置的原因,但是访问后台(https://appadmin.fanzi.wang/fecadmin/login/index ),出现Access denied.

环境为dev模式,搜了下并未发现由类似问题出现。可以访问,nginx配置应该没问题,文档中提到 appadmin 是不需要配置Store.php。使用的是oneinstack脚本安装的LNMP运行环境,网站所在目录也已经执行文件644, 文件夹755 ,权限用户和用户组www。所以不知问题出在何处。

烦请博主回复下,谢谢。

共收到 8 条回复
Fecmall#15年前 0 个赞

站内搜索帖子: 404

nginx需要配置,去掉index.php

3楼 已删除.
testtv#45年前 0 个赞

您好,我是在nginx配置,去掉index.php后,访问后台,依旧出现Access denied.

数据库导入和测试都是正常的。不知是何原因?能否帮助解答下?谢谢。

nginx配置文件:

server {
  listen 80;
  listen 443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/appadmin.fanzi.wang.pem;
  ssl_certificate_key /usr/local/nginx/conf/ssl/appadmin.fanzi.wang.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name appadmin.fanzi.wang;
  access_log /data/wwwlogs/www.fanzi.wang_nginx.log combined;
  index index.html index.htm index.php;
  root /data/wwwroot/fecshop/appadmin/web;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  include /usr/local/nginx/conf/rewrite/none.conf;
  #error_page 404 /404.html;
  #error_page 502 /502.html;

  location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
  location / {
       if (!-e $request_filename){
            rewrite ^/(.*)$ /index.php/$1 last;
       }
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /\.ht {
    deny all;
  }
  location /api {
          rewrite /api/([a-z][0-9a-z_]+)/?$ /api.php?type=$1;
   }
}

Terry#55年前 0 个赞

Access denied ,是数据库报错,还是什么报错,把报错信息描述完整。

如果是数据库报错,参考:http://www.fecshop.com/topic/703

testtv#65年前 0 个赞

Access denied.是整个网站提示的,提供下截图:

但是排查了下,数据库好像没问题额。

配置过程

mongodb是使用oneinstack一键脚本安装的,默认用户root,密码设置的:rootpasswd. 由于第一次接触mongodb,我就在/etc/mongond.conf中把

#security:
#  authorization: enabled

给注释掉了,在common/config/main-local.php中mongodb部分设置为

# 无账户的配置
'dsn' => 'mongodb://127.0.0.1:27017/fecshop',

当时就执行./yii mongodb-migrate --interactive=0 --migrationPath=@fecshop/migrations/mongodb成功,没有报错。导入数据也没有报错。

失败的解决方法

common/config/main-local.php中mongodb部分设置为

# 有账户的配置
'dsn' => 'mongodb://user:userpasswd@localhost:27017/fecshop',

同时在在/etc/mongond.conf中还原

security:
  authorization: enabled

结果网站还是不行,数据库因该没问题,那可能是什么的原因呢?

Terry#75年前 0 个赞

1.你的版本是最新的版本吗?

2.你排查一下试试,对于 www.xxx.com/fecadmin/login/index

对应的文件是:vendor/fancyecommerce/fec_admin/controllers/LoginController.php中的 actionIndex 方法

你加断点看看,是哪里导致的这个问题。

Terry#85年前 0 个赞

在fecshop的库文件里面,我搜索了一下 Access denied,里面没有这个输出,这个输出可能是mysql的

你这个报错不是数据库连接的问题,应该是账户的问题,检验一下两个问题:

1.mysql的用户名和密码是否正确

2.如果是远程连接,检验mysql账户是否允许远程(你是127.0.0.1,可以忽略这个问题)

testtv#95年前 3 个赞

感谢您的回复,问题已经解决,不是 Mysql 的原因,是nginx配置的原因。

解决方法参考解决ThinkPHP部署时Access denied

作为一名CS专业学生,深感自身知识的匮乏,学习之路漫长。对博主无私奉献精神感到敬佩,也明白博主之所以推荐docker安装的原因了,因为很简单易行:)

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics