You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移动网络下仅Firefox可访问自建网站问题求助

Symfony6 + Nginx 移动网络仅Firefox可访问的排查与解决

问题现象

  • 基于PHP+Symfony6开发的网站,Nginx作为Web服务器,有线网络下所有浏览器均可正常访问
  • 移动网络环境下,仅Firefox浏览器能正常访问,其他浏览器提示「连接重置错误」「网络错误」
  • 手机开热点,电脑通过该移动网络访问时,同样仅Firefox可正常访问

当前Nginx配置如下:

server {
    server_name domainname.xx www.domainname.xx XX.XX.XX.XX;
    root path/to/public;

    location ~ /.well-known {
       allow all;
    }

    location / {
       # try to serve file directly, fallback to index.php
       try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
       fastcgi_pass unix:/var/run/php/php-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;
    }
    
    #listen 80;
    listen 443 ssl; # managed by Certbot
    ssl_certificate /path/to/certificate/fullchain.pem; # managed by Certbot
    ssl_certificate_key /path/to/certificate/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
    if ($host = www.domainname.xx) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = domainname.xx) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    
    listen 80;
    server_name domainname.xx www.domainname.xx XX.XX.XX.XX;
    return 404; # managed by Certbot
}

排查方向与解决方案

1. SSL/TLS 协议兼容性问题

移动网络运营商可能对部分TLS版本或加密套件做了限制,而Firefox的默认协议支持范围更广。

  • 检查/etc/letsencrypt/options-ssl-nginx.conf中的TLS配置,调整为兼容移动网络的参数:
    # 确保包含主流兼容版本
    ssl_protocols TLSv1.2 TLSv1.3;
    # 使用通用兼容的加密套件
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    
  • 重启Nginx生效:sudo systemctl restart nginx

2. 调整Nginx连接超时参数

移动网络稳定性较差,默认超时设置可能导致连接提前断开。在443端口的server块中添加:

client_timeout 60s;
client_header_timeout 60s;
client_body_timeout 60s;
send_timeout 60s;
keepalive_timeout 60s;

3. 检查防火墙/安全组规则

确认服务器防火墙或云服务商安全组未限制移动网络IP访问443端口:

  • 执行sudo ufw status查看规则,确保443端口开放:
    sudo ufw allow 443/tcp
    
  • 云服务器用户需登录控制台,检查安全组入站规则,确保443端口允许0.0.0.0/0访问

4. 排查Symfony安全配置

检查Symfony的config/packages/security.yaml,避免IP白名单限制移动网络访问:

access_control:
    # 移除或修改仅允许特定IP段访问的规则
    # 示例:- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY, ips: [192.168.0.0/24] }

5. 清除移动网络DNS缓存

部分运营商DNS缓存可能异常,导致解析错误:

  • 手机端切换DNS服务器(如1.1.1.1或8.8.8.8)测试
  • 清除浏览器DNS缓存后重试

内容的提问来源于stack exchange,提问作者JesusPTB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:17:41