7
votes

Symfony2: Comment forcer HTTPS pour toute l'application?

est-il possible de forcer HTTPS pour toute l'application sans la définir pour les 100 routes / règles de pare-feu?

Nous avons essayé de forcer HTTPS sur le niveau du serveur Web, mais Symfony2 essaie toujours de rediriger vers http et génère des liens étranges (http: // [...]: 443).

J'ai lu la documentation de configuration mais je n'ai rien trouvé pour cela. Toutes les entrées de recettes de cuisine ne sont également que pour lui permettre de la permettre une règle de route / de sécurité.


3 commentaires

Comment l'avez-vous forcé sur le niveau WebServer?


Pourquoi forcer l'application à le faire, laissez simplement nginx faire le changement en https


Veuillez poster votre configuration de sécurité.


4 Réponses :


0
votes

Comment forcer HTTPS ou HTTP pour différentes URL

Le composant de sécurité fournit un moyen d'appliquer https via le Requiert_Channel Réglage. Cette méthode alternative est mieux adaptée Pour sécuriser une "zone" de votre site Web (toutes les URL sous / admin) ou quand Vous souhaitez sécuriser les URL définies dans un ensemble tiers. xxx


1 commentaires

Comme je l'ai dit, je ne veux pas le faire pour chaque règle de sécurité, mais pour l'ensemble du site Web.



0
votes

Il semble que nous avons mal configuré notre serveur Web. Pour référence, voici la configuration de travail maintenant:

    server {
            listen x.x.x.x:80;
            server_name domain.tld;
            listen      80;

            location / {
                    rewrite     ^(.*)   https://domain.tld$1 permanent;
            }
    }

    server {
            gzip                on;
            gzip_types          text/plain text/css application/x-javascript text/xml application/xml application/rss+xml text/javascript image/x-icon;
            gzip_min_length     1000;
            gzip_comp_level     6;
            gzip_http_version   1.0;
            gzip_vary           on;
            gzip_proxied        expired no-cache no-store private auth;
            gzip_disable        msie6;

            listen x.x.x.x:443;

            ssl         on;
            ssl_certificate     /etc/nginx/wildcard_ssl/cert.pem;
            ssl_certificate_key /etc/nginx/wildcard_ssl/cert.key;

            server_name domain.tld;

            root /var/www/domain.tld/current/web/;

            access_log /var/log/nginx/domain.tld/access.log main;
            error_log /var/log/nginx/domain.tld/error.log;

            rewrite ^/app\.php/?(.*)$ /$1 permanent;

            location / {
                    index app.php;
                    try_files $uri @rewriteapp;
            }
            location @rewriteapp {
                    rewrite ^(.*)$ /app.php/$1 last;
            }

            location @long_time {
                    fastcgi_pass   tldpass;
                    fastcgi_split_path_info ^(.+\.php)(/.*)$;
                    include fastcgi_params;
                    fastcgi_param  SCRIPT_FILENAME    $document_root/app.php;
                    fastcgi_param  HTTPS              on;

                    fastcgi_read_timeout 300;
            }
            location ~ ^/app\.php(/|$) {
                    include fastcgi_params;
                    fastcgi_pass   tldpass;
                    fastcgi_split_path_info ^(.+\.php)(/.*)$;
                    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                    fastcgi_param  HTTPS              on;
                    fastcgi_read_timeout 600s;

                    access_log /var/log/nginx/domain.tld/php-only.log;
            }

            location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|htc)$ {
                    expires     31d;
                    add_header  Cache-Control private;
            }
    }


0 commentaires

0
votes

sur Security.YAML

access_control:
    - { path: ^/, requires_channel: https, host: ^www\.domain\.com$ }


0 commentaires

0
votes

Forcer l'application entière pour gérer uniquement les demandes SSL avec https://github.com/nelio/nelmiosecurityBundleight " A>

parameters:
    router.request_context.scheme: 'https'


0 commentaires