当我尝试使用 4G 连接访问我的网站时出现空白页面(ssl 错误)?
Blank page (ssl error) when I am trying to access my website with a 4G connection?
我的一些客户尝试使用 4G 互联网访问我的网站时出现空白页面。
通过积累案例,我发现它总是特定的4G提供商:Bouygues telecom(法国提供商)。可能是其他提供者,但这个是最常见的。
我有一个 Ubuntu 网络服务器 运行 Nginx 和 php5。
遗憾的是我找不到那些空白屏幕连接的任何 nginx 日志。
当我在笔记本电脑上共享 Bouygues 4G 连接时,我在 mozzila 上也遇到了 PR_CONNECT_RESET_ERROR 的问题。或小米 phone.
上的 ERR_CONNECTION_RESET
最后一轨,我可以用这个 4G 连接访问我的试制网站,它没有 ssl conf。
有人知道我正在试验什么。
你会在我的 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)/ 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;
}
我找到了解决方案。
Bouygues 4G 强制我服务器的 IPV6。
起初请求页面是为使用那里的 4G Bouygues 的用户设计的。猜测这是一个 IPV6 问题,我在我的服务器上激活了一个 IPV6,并在我的 DNS 上添加了一个 AAAA 条目。
然后 4G Bouygues 用户有一个空白页面,因为 IPV6 没有在我的 nginx conf 上声明。下面是我的补充:
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;**
希望对其他人有所帮助,
阿克塞尔
我的一些客户尝试使用 4G 互联网访问我的网站时出现空白页面。
通过积累案例,我发现它总是特定的4G提供商:Bouygues telecom(法国提供商)。可能是其他提供者,但这个是最常见的。
我有一个 Ubuntu 网络服务器 运行 Nginx 和 php5。
遗憾的是我找不到那些空白屏幕连接的任何 nginx 日志。
当我在笔记本电脑上共享 Bouygues 4G 连接时,我在 mozzila 上也遇到了 PR_CONNECT_RESET_ERROR 的问题。或小米 phone.
上的 ERR_CONNECTION_RESET最后一轨,我可以用这个 4G 连接访问我的试制网站,它没有 ssl conf。
有人知道我正在试验什么。
你会在我的 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)/ 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;
}
我找到了解决方案。
Bouygues 4G 强制我服务器的 IPV6。
起初请求页面是为使用那里的 4G Bouygues 的用户设计的。猜测这是一个 IPV6 问题,我在我的服务器上激活了一个 IPV6,并在我的 DNS 上添加了一个 AAAA 条目。
然后 4G Bouygues 用户有一个空白页面,因为 IPV6 没有在我的 nginx conf 上声明。下面是我的补充:
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;**
希望对其他人有所帮助, 阿克塞尔