Symfony 3:带子域的路由不适用于产品

摇摇欲坠

我要花6个小时解决问题,我有一个具有主机要求的路由来处理子域。它可以完美地在dev中工作,但无论如何我都会在阶段中重复执行相同的错误:

No route found for "GET /login"" at /var/www/app/var/cache/prod/classes.php

这是我的路线:

app_front_office:
    resource: "@AppFrontOfficeBundle/Resources/config/routing.yml"
    prefix:   /
    host: "%front_office_domain%"

app_back_office:
   resource: "@AppBackOfficeBundle/Resources/config/routing.yml"
   prefix:   /
   host: "%back_office_domain%"

security.yml:

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    main:
        pattern: ^/
        anonymous:  true
        form_login:
            login_path: app_back_office_security_login
            check_path: app_back_office_security_login
        logout:
            path: app_back_office_security_logout
            target: app_back_office_dashboard_index
        remember_me:
            secret: '%secret%'
            lifetime: 2630000
            path: app_back_office_dashboard_index
            always_remember_me: true
            domain: '%cookie_domain%'
            user_provider: main_provider

access_control:
    - { host: '%back_office_domain%',path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { host: '%back_office_domain%',path: ^/, role: ROLE_ADMIN }

parameters.yml:

cookie_domain: .domain.com
front_office_domain: staging.domain.com
back_office_domain: bo-staging.domain.com

调试:路由器:

app_front_office_homepage                     ANY        ANY staging.domain.com      /                                  
fos_js_routing_js                                ANY        ANY      ANY                     /js/routing.{_format}              
app_back_office_dashboard_index               GET        ANY      bo-staging.domain.com   /                                  
app_back_office_security_login                GET|POST   ANY      bo-staging.domain.com   /login                             
app_back_office_security_logout               ANY        ANY      bo-staging.domain.com   /logout                            
app_back_office_subscription_plan_list_ajax   GET        ANY      bo-staging.domain.com   /subscriptions/list                
app_back_office_user_index                    GET        ANY      bo-staging.domain.com   /users                             
app_back_office_user_profile                  GET        ANY      bo-staging.domain.com   /users/profile/{userId}            
app_back_office_user_update_field_ajax        POST       ANY      bo-staging.domain.com   /users/updateField                 
app_back_office_user_delete_ajax              DELETE     ANY      bo-staging.domain.com   /users/delete/{userId}             
app_back_office_user_recover_ajax             POST       ANY      bo-staging.domain.com   /users/recover/{userId}            
app_back_office_user_list_ajax                GET        ANY      bo-staging.domain.com   /users/list

nginx conf:

    server {
        listen       443 default_server ssl;

        server_name staging.domain.com api-staging.domain.com dashboard-staging.domain.com bo-staging.domain.com;
        root /var/www/wapp/web;


        ssl on;
            ssl_certificate      /etc/nginx/ssl/ssl-bundle.crt;
            ssl_certificate_key  /etc/nginx/ssl/domain_com.key;
        #   ssl_session_timeout  5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


        location / {
            try_files $uri /app.php$is_args$args;
        }
        # PROD
        location ~ ^/app\.php(/|$) {
            fastcgi_pass unix:/run/php/php7.0-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;
        }

        error_log /var/log/nginx/app_error.log;
        access_log /var/log/nginx/app_access.log;
    }


    # HTTP server
    server {
        listen      80;
        server_name  staging.domain.com api-staging.domain.com dashboard-staging.domain.com bo-staging.domain.com;
        root /var/www/app/web;

        location / {
            return 301 https://$server_name$request_uri;
        }
    }

感谢您的帮助,如果我无法解决问题,我会发疯的:p

摇摇欲坠

感谢大家的帮助,我找到了答案。负载平衡器运行状况检查器配置为检查“ / login”路径,但我不知道此配置,因此无法解释错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Symfony 3安全-Access_control不适用于一种路由

验证约束不适用于我的Symfony3项目

Twig Extension不适用于Symfony 2

PUT请求不适用于Symfony表单和FosRest

FOSUserBundle模板替代不适用于Symfony Flex

Symfony缓存不适用于类/对象

教义可嵌入对象不适用于Symfony表单

Symfony2命令不适用于cron

Symfony Messenger:重试延迟不适用于 Redis 传输

Symfony 项目适用于实时服务器,但不适用于 wamp

Symfony 3 路由子域

适用于Symfony 3应用的Google Play市场认证

隐藏不再适用于 symfony 更新

Symfony finder,忽略点文件不适用于FTP地址

Symfony Elasticsearch配置文件不适用于多种类型的1个索引

自动完成不适用于 Symfony 控制台脚本

OUT变量的存储过程不适用于oracle&symfony2

使用自定义操作类时,Symfony验证不适用于Api Platform

notBlank约束不适用于文件输入-具有OneToMany关系的表单Symfony2

Symfony验证来验证简单值不适用于LessThan约束

重写模式不适用于virtualhost和symfony4

Symfony 中的工作流程不适用于“multiple_state”

扩展了模板,不适用于FOSUserBundle电子邮件。Symfony2

handleRequest($ request)在Symfony 2中不适用于“ GET”方法

Gos 网络套接字包不适用于 `symfony 4.2`

Symfony 子域路由

会话变量适用于本地服务器,但不适用于使用 symfony2.8 的托管服务器

Symfony:这些消息不适用于给定的语言环境,并且在后备语言环境中找不到

角路由不适用于Cloudfront + S3