遭遇离奇的 Nginx 错误 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JJaicmkmy
V2EX    NGINX

遭遇离奇的 Nginx 错误

  •  
  •   JJaicmkmy 2015-10-09 11:46:57 +08:00 4163 次点击
    这是一个创建于 3709 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近把 VPS 上的 Apache 换成了 Nginx 。 VPS 上有两个网站,其中一个是 Ghost+Nginx 反代,没有任何问题。还有一个 WordPress ,假设域名是 www.example.com ,访问的时候一直都会跳转到 www.example.com/mail ,然后返回 404.如果建一个 mail 目录。把网站放进去,就可以正常访问。但是就是搞不懂为什么会跳转到 /mail 。
    这是我的配置文件:

    server { listen 45.117.100.000:80; listen 45.117.100.000:443 ssl; server_name www.example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/private.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP; root /var/www/html; location / { index index.html index.htm index.php; if (!-e $request_filename) { rewrite . /index.php last; } } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; } 还有,电脑上任何浏览器都访问正常,但是手机上访问 https 却提示无法建立安全的连接。 
    17 条回复    2015-10-10 15:59:32 +08:00
    chairuosen
        1
    chairuosen  
       2015-10-09 12:03:29 +08:00
    是不是 wordpress 设置了 mail 是首页?
    JJaicmkmy
        2
    JJaicmkmy  
    OP
       2015-10-09 12:49:16 +08:00
    @chairuosen 没有。但是如果设置了 mail 是首页倒是可以正常打开。
    lhbc
        3
    lhbc  
       2015-10-09 13:02:41 +08:00 via Android
    curl -I 域名
    然后查 nginx 日志
    henryon
        4
    henryon  
       2015-10-09 13:07:44 +08:00
    你后端是 PHP ? index.php?里面写的是啥 ?
    boro
        5
    boro  
       2015-10-09 13:13:13 +08:00
    你是放到 root /var/www/html 目录下么?
    salmon5
        6
    salmon5  
       2015-10-09 13:17:28 +08:00
    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP;
    这 2 行配置可以删了,并没有什么好处。
    tntsec
        7
    tntsec  
       2015-10-09 13:24:48 +08:00
    server {
    listen 80;
    server_name www.tntsec.com;

    root /var/www/html/tntsec;
    index index.php index.html index.htm;

    location ~ .*\.php(\/.*)*$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    loveminds
        8
    loveminds  
       2015-10-09 14:59:47 +08:00
    @salmon5 和 SSL 没有关系
    @JJaicmkmy 在你这个 conf 里面没有看到任何地方和 mail 有关,建议检查下 nginx.conf 有没嵌套别的东西
    loveminds
        9
    loveminds  
       2015-10-09 15:03:01 +08:00
    我估计 LZ 曾经装过类似 squirrelmail 或者 roundcube 之类的东西,它们有时会在 nginx.conf 里添加 include ,建议检查下 nginx.conf 嵌套的所有配置文件
    skylancer
        10
    skylancer  
       2015-10-09 15:46:00 +08:00
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name

    这一行改成 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    JJaicmkmy
        11
    JJaicmkmy  
    OP
       2015-10-09 15:52:12 +08:00 via iPad
    @boro 是的
    @henryon 就是 WordPress 自带的 index.php
    JJaicmkmy
        12
    JJaicmkmy  
    OP
       2015-10-09 15:53:54 +08:00 via iPad
    @loveminds 以前用 Apache 的时候装过,后来删了。现在重新编译安装 Nginx 了,还会自动在 Nginx 里 include 吗?
    boro
        13
    boro  
       2015-10-09 16:07:34 +08:00 via iPhone
    html 目录下要给个网站建个独立文件夹,还有 ls 站点配置文件到对应的目录是否正确?
    lightforce
        14
    lightforce  
       2015-10-09 18:07:15 +08:00
    /var/www/html$fastcgi_script_name;
    loveminds
        15
    loveminds  
       2015-10-09 19:52:28 +08:00
    @JJaicmkmy 检查一下配置文件
    yaxin
        16
    yaxin  
       2015-10-10 09:40:51 +08:00
    问题出在 nginx 或者 php ( Wordpress )身上,但是 nginx 本身不是很好调试,所以先排除是不是 php 的问题

    在 /var/www/html 下的 index.php 最前面添加<?php phpinfo();die; ?>

    然后用命令行 curl 或者其它别的可以看网络连接的浏览器(如 firefox firebug 或 chrome 的调试窗口),记住千万不要用之前的浏览器,因为 301 跳转会被浏览器缓存下来,最好用 curl ,看一下返回的状态码是否为 200(curl -i http://www.example.com), 如果不是 200 ,那么在 Wordpress 中找原因,如果是 200 ,重新编译一个--with-debug 的 nginx ,然后将 debug 日志打印出来看 nginx 哪里配置有问题
    webpig
        17
    webpig  
       2015-10-10 15:59:32 +08:00
    建议检查一下 php 的配置文件。如果 OS 是 ubuntu ,文件是 /etc/php5/fpm/pool.d/www.conf
    看一下 chroot 这一行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5250 人在线   最高记录 6679       Select Language
    创工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 06:00 PVG 14:00 LAX 22:00 JFK 01:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86