我有一台运行 nginx 和 php5 的 Debian 8 服务器。该服务器配置了 IPv4 和 IPv6 地址,我可以在任一地址上成功 ping 该服务器。我还可以使用任一地址成功浏览服务器上的 html 页面。如果我使用 IPv4 地址,我可以成功浏览 php 页面,但如果我尝试使用 IPv6 地址浏览 php 页面,浏览器会挂起,我不明白为什么。phpinfo 显示 IPv6 已启用。任何帮助都将不胜感激。配置文件如下。
/etc/nginx/sites-enabled/default
server {
server_name abcwiki;
listen [::]:80 ipv6only=on;
listen 80;
root /var/www/html/dokuwiki;
index index.html index.php;
location ~ \.php$ {
include fastcgi_params;
include /etc/nginx/snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
/etc/php5/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
其他 nginx 和 php 文件保留默认设置。
PHP 信息显示:
PHP Version 5.6.30-0+deb8u1
System Linux ABCWiki 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64
Build Date Feb 8 2017 08:50:44
Server API FPM/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5/fpm
Loaded Configuration File /etc/php5/fpm/php.ini
Scan this dir for additional .ini files /etc/php5/fpm/conf.d
Additional .ini files parsed /etc/php5/fpm/conf.d/05-opcache.ini, /etc/php5/fpm/conf.d/10-pdo.ini, /etc/php5/fpm/conf.d/20-json.ini, /etc/php5/fpm/conf.d/20-readline.ini
PHP API 20131106
PHP Extension 20131226
Zend Extension 220131226
Zend Extension Build API220131226,NTS
PHP Extension Build API20131226,NTS
Debug Build no
Thread Safety disabled
Zend Signal Handling disabled
Zend Memory Manager enabled
Zend Multibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support enabled
Registered PHP Streams https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
答案1
我找到了导致这种情况的原因,这有点儿像是一个误导。这是由于我们的 SonicWALL 防火墙 VPN 使用完整 MTU 丢弃数据包造成的(我认为这是防火墙的一个错误,我正在向 SonicWALL 报告这个问题)。我测试的 html 页面很小,所以从未发现这个问题。将服务器上的 MTU 降低到 1374(将防火墙上的 MTU 设置为 1500)暂时解决了这个问题。