【问题标题】:Orocrm dashboard displays a "You do not have permission to perform this action." errorOrocrm 仪表板显示“您无权执行此操作”。错误
【发布时间】:2021-08-06 04:29:21
【问题描述】:

好的,这是一个全新的 Orocrm 安装,我有以下错误:

当我在网络日志中挖掘一点时,这是我发现的:

我不知道它是否相关,但是当我按照 orocrm 文档中可用的WebSocket Connection Configuration 页面的所有说明启用 SSL 支持时,这些错误已经开始出现。

这是我的 nginx 配置文件的内容:

server {
        listen 80;
        listen [::]:80;
        server_name crm.domain.tld;
        return 301 https://$host$request_uri;
}

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        server_name crm.domain.tld;
        root /home/whatever/crm/public;

        ssl_certificate /etc/letsencrypt/live/crm.domain.tld/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/crm.domain.tld/privkey.pem;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

        include /etc/letsencrypt/options-ssl-nginx.conf;
        # ssl_protocols TLSv1.2;
        # ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES2;

        location / {
                try_files $uri /index.php$is_args$args;
        }

        location ~ ^/index\.php(/|$) {
                fastcgi_pass unix:/run/php/crm-php7.4-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;

                include fastcgi_params;

                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param DOCUMENT_ROOT $realpath_root;

                internal;
        }

        location ~ \.php {
                return 404;
        }

        location /ws {
                # redirect all traffic to localhost:8080;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_set_header X-Forwarded-Proto $scheme;

                proxy_pass http://127.0.0.1:8080/$is_args$args;
                proxy_redirect off;
                proxy_read_timeout 86400;

                # enables WS support
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                # prevents 502 bad gateway error
                proxy_buffers 8 32k;
                proxy_buffer_size 64k;

                reset_timedout_connection on;

                error_log /home/whatever/logs/oro_wss_error.log;
                access_log /home/whatever/logs/oro_wss_access.log;
        }

        error_log /home/whatever/logs/error.log;
        access_log /home/whatever/logs/access.log;
}

这是我的parameters.yml的内容:

parameters:
    database_driver: pdo_mysql
    database_host: '%env(ORO_DB_HOST)%'
    database_port: '%env(ORO_DB_PORT)%'
    database_name: '%env(ORO_DB_NAME)%'
    database_user: '%env(ORO_DB_USER)%'
    database_password: '%env(ORO_DB_PASSWORD)%'
    database_server_version: '%env(ORO_DB_VERSION)%'
    database_driver_options: {  }

    mailer_transport: '%env(ORO_MAILER_DRIVER)%'
    mailer_host: '%env(ORO_MAILER_HOST)%'
    mailer_port: '%env(ORO_MAILER_PORT)%'
    mailer_encryption: '%env(ORO_MAILER_ENCRYPTION)%'
    mailer_user: '%env(ORO_MAILER_USER)%'
    mailer_password: '%env(ORO_MAILER_PASSWORD)%'

    websocket_bind_address: 0.0.0.0
    websocket_bind_port: 8080
    websocket_frontend_host: '*'
    websocket_frontend_port: 443
    websocket_frontend_path: 'ws'
    websocket_backend_host: '*'
    websocket_backend_port: 443
    websocket_backend_path: 'ws'
    websocket_backend_transport: 'ssl'
    websocket_backend_ssl_context_options: {  }

    web_backend_prefix: ''
    session_handler: session.handler.native_file
    secret: '%env(ORO_SECRET)%'
    installed: '*******************'
    assets_version: *******************
    assets_version_strategy: time_hash
    message_queue_transport: dbal
    message_queue_transport_config: null
    deployment_type: null
    liip_imagine.jpegoptim.binary: null
    liip_imagine.pngquant.binary: null

    env(ORO_DB_HOST): localhost
    env(ORO_DB_PORT): null
    env(ORO_DB_NAME): *******************
    env(ORO_DB_USER): *******************
    env(ORO_DB_PASSWORD): *******************
    env(ORO_DB_VERSION): null
    env(ORO_MAILER_DRIVER): smtp
    env(ORO_MAILER_HOST): 127.0.0.1
    env(ORO_MAILER_PORT): null
    env(ORO_MAILER_ENCRYPTION): null
    env(ORO_MAILER_USER): null
    env(ORO_MAILER_PASSWORD): null
    env(ORO_SECRET): *******************

这是我的主管配置文件的内容:

***

[program:oro_web_socket]
command=php ./bin/console gos:websocket:server --env=prod
numprocs=1
autostart=true
autorestart=true
directory=/home/whatever/crm
user=whatever
redirect_stderr=true

[program:oro_message_consumer]
command=php ./bin/console oro:message-queue:consume --env=prod
process_name=%(program_name)s_%(process_num)02d
numprocs=5
autostart=true
autorestart=true
directory=/home/whatever/crm
user=whatever
redirect_stderr=true

var/logs/prod.log 不使用tail -f prod.log 输入任何内容。

WSS 日志为空

这也可能是相关的,但是在 Orocrm 选项中启用 api 沙箱后我陷入了循环每隔几秒左右将我重定向到 Orocrm 的仪表板。我设法通过在正确的时间点击浏览器的停止加载按钮来修复它。禁用该选项后,将不再进行循环重定向。

有什么线索吗?我的想法不多了。

【问题讨论】:

    标签: nginx ssl orocrm


    【解决方案1】:

    它确实与 SSL 相关,从 unsafeSSL 是根深蒂固的潜在问题的症状。

    对于一些上下文,这是我在收到错误消息之前所做的:

    当我开始安装 Orocrm 时,我没有 SSL 证书。我打开浏览器并开始配置它。当我完成配置 Orocrm 后,我不得不更改密码,因为我使用的是临时密码,但在此之前我必须安装 SSL 证书

    我已经开始使用 Letsencrypt 工具安装 SSL 证书。完成后,我设置了 Orocrm 以支持 SSL,然后我再次重新打开 orocrm,事情开始出错。

    是什么引发了错误消息?

    unsafe 移动到 SSL 后不清除 cookie。

    我不确定如何进行深入的工作,但这可能是因为我的浏览器中有一个已经可用的_csrf cookie,https-_csrf cookie 不可能存在可能是由于某处的条件。

    如何修复错误信息?

    你现在可能已经猜到了,它非常简单。要修复错误消息,您只需删除_csrf cookie,然后刷新页面。它将被 https-_csrf cookie 代替。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2021-03-09
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 2020-06-21
      相关资源
      最近更新 更多