phpubuntusslnginx4g

Blank page (ssl error) when I am trying to access my website with a 4G connection?


Some of my clients are experimenting a blank page when they are trying to reach my website using there 4G internet.

By accumulating cases, I found out that it's alway a specific 4G provider: Bouygues telecom (french provider). Could be other provider, but this one is the most recurrent.

I have an Ubuntu webserver running Nginx and php5.

Sadly i can't find any nginx logs of those blank screen connexion.

When i am sharing a Bouygues 4G connexion thought my laptop, I also have a issue with a PR_CONNECT_RESET_ERROR on mozzila. Or a ERR_CONNECTION_RESET on a xiaomi phone.

Last track, i can reach my preproduction website with this 4G connexion, which have no ssl conf.

Somebody have an idear of what i am experimenting.

You will fin below my nginx conf:

server {
        listen 80 default_server;
        allow all;
        server_name _;
        return 301 https://$host$request_uri;
}server {
        listen 443 default_server ssl;
        allow all;
        ssl on;
        ssl_certificate /etc/nginx/ssl/2020_easyrenter.crt;
        ssl_certificate_key /etc/nginx/ssl/easyrenter.fr.key;        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_dhparam /etc/nginx/ssl/dhparam.pem;
        ssl_prefer_server_ciphers on;
        ssl_session_cache  builtin:1000  shared:SSL:10m;
        add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';
        ssl_stapling_verify on;
        resolver 8.8.4.4 8.8.8.8 valid=300s;
        resolver_timeout 10s;        server_name www.easyrenter.fr easyrenter.fr 46.101.103.115;
        root /home/deploy/easyrenter/current/;       location = /sitemap.xml {
                alias /home/deploy/easyrenter/current/sitemap.xml;
       }       location = /sitemaps/en/sitemap.xml {
                alias /home/deploy/easyrenter/current/sitemaps/en/sitemap.xml;
       }       location = /sitemaps/fr/sitemap.xml {
                alias /home/deploy/easyrenter/current/sitemaps/fr/sitemap.xml;
       }        location / {
                index index.html index.php;
                try_files $uri/ @handler;
                expires 30d;
        }        location ~ \.(js|css|png|jpg|gif|ico|pdf|tiff|swf) {
                try_files $uri $uri/;
                expires 356d;
        }        location ^~ /app/ {deny all;}
        location ^~ /includes/ {deny all;}
        #location ^~ /lib/ {deny all;}
        location ^~ /media/downloadable/ {deny all;}
        location ^~ /pkginfo/ {deny all;}
        location ^~ /report/config.xml {deny all;}
        location ^~ /var/ {deny all;}        location /var/export {
                auth_basic  "restricted";
                auth_basic_user_file htpasswd;
                autoindex on;
        }        location /. {
                return 404;
        }        location @handler {
                rewrite / /index.php;
        }#       location ~ .php {
#               rewrite ^(.*.php)/ $1 last;
#       }        location ~ \.php$ {
                if (!-e $request_filename) { rewrite / /index.php last;}
                expires off;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_param HTTPS $fastcgi_https;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                proxy_read_timeout 300;        }        #Poids max des upload files
        client_max_body_size 32M;       include /etc/nginx/nginx-redirection.conf;
}

Solution

  • I found the solution.

    Bouygues 4G was forcing the IPV6 of my serveur.

    At first the request page was lopping for the users using there 4G Bouygues. Guessing that it was a IPV6 issue, i activate a IPV6 on my server and i add a AAAA entry on my DNS.

    Then the 4G Bouygues user had a blank page, because the IPV6 wasn't declare on my nginx conf. Here below my adds:

    server {
        listen 80;
        **listen [::]:80;**
        allow all;
        server_name _;
        return 301 https://$host$request_uri;
    }
    
    server {
            listen 443 default_server ssl http2;
            **listen [::]:443 default_server ssl http2;**
    

    Hope it will help others, Axel