9
回答
浏览器访问正常,wget获得的却是404
华为云实践训练营,热门技术免费实践!>>>   

我用的是nginx做的前端,tomcat在后端

用浏览器访问http://www.52xinghuo.com正常

用wget http://www.52xinghuo.com/ 却是404错误。

[root@hotelweb ~]# wget http://www.52xinghuo.com
--14:53:44--  http://www.52xinghuo.com/
正在解析主机 www.52xinghuo.com... 119.88.56.117
Connecting to www.52xinghuo.com|119.88.56.117|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 404 Not Found
14:53:44 错误 404:Not Found。

配置文件如下:

 

#user  nobody;

worker_processes  2;

 

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

 

#pid        logs/nginx.pid;

 

 

events {

    use epoll;

    worker_connections  4096;

}

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

    server_tokens off;

 

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

 

    #access_log  logs/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

 

    #keepalive_timeout  0;

    keepalive_timeout  65;

    limit_zone   one  $binary_remote_addr  10m;

 

    gzip  on;

    gzip_min_length     1000;

    gzip_types       text/plain application/x-javascript text/css text/html application/xml text/javascript; 

    server {

        listen       80;

        server_name  www.52xinghuo.com 52xinghuo.com localhost;

        #charset koi8-r;

        #rewrite ^/ http://www.52xinghuo.com/index.html permanent;

if ($host != 'www.52xinghuo.com' ) {

         rewrite ^/(.*)$ http://www.52xinghuo.com/$1 permanent;

}

 

#access_log  logs/host.access.log  main;

        location ~*\.(jpg|jpeg|gif|png|swf|css|js|txt|xml)$ {

            root html;

            expires   1d;

            break;

        }

        location ~*\.(ftl)$ {

            deny    all;

        }

        location / {

            root   html;

            index  index.html;

   try_files $uri @to_other;

        }

        location @to_other{

   proxy_pass http://127.0.0.1:81;

            proxy_set_header Host $host; 

            proxy_set_header X-Real-IP $remote_addr; 

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

 

        #error_page  404              /404.html;

        error_page  404  /home.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

 

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

 

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }

 

 

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

 

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

 

 

    # HTTPS server

    #

    #server {

    #    listen       443;

    #    server_name  localhost;

 

    #    ssl                  on;

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

 

    #    ssl_session_timeout  5m;

 

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;

    #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    #    ssl_prefer_server_ciphers   on;

 

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

 

}

举报
职通网
发帖于7年前 9回/5K+阅
共有9个答案 最后回答: 7年前

引用来自#4楼“范堡”的帖子

http://www.oschina.net/code/snippet_17_298

这里有我正在运行中 Nginx  的配置,没有你出现的问题嘿,你对照一下。

还是不行哦。我照着改了一下。

#user  nobody;

worker_processes  2;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    use epoll;

    worker_connections  4096;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    server_tokens off;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    keepalive_timeout           60 20;

    client_header_timeout       3m;

    client_body_timeout         3m;

    send_timeout                3m;

    client_header_buffer_size           16k;

    large_client_header_buffers         4 32k;

    server_names_hash_max_size          512;

    server_names_hash_bucket_size       64;

    limit_zone   one  $binary_remote_addr  10m;

    gzip_proxied            any;

    gzip  on;

    gzip_comp_level         9;

    gzip_vary               on;

    gzip_min_length     1000;

    gzip_types              text/plain application/x-javascript text/css application/xml;

    server {

        listen       80;

        server_name  www.52xinghuo.com 52xinghuo.com localhost;

        #charset koi8-r;

        if ($host != 'www.52xinghuo.com' ) {

            rewrite ^/(.*)$ http://www.52xinghuo.com/$1 permanent;

        }

#access_log  logs/host.access.log  main;

        location ~*\.(jpg|jpeg|gif|png|swf|css|js|ico|txt|xml)$ {

            root html;

            expires   1d;

            break;

        }

        location ~*\.(ftl)$ {

            deny    all;

        }

        location / {

            #rewrite ^/ http://www.52xinghuo.com/index.html break;

            root   html;

            index  index.html;

   try_files $uri @to_other;

        }

        location @to_other{

   proxy_pass http://127.0.0.1:81;

            proxy_set_header Host $host; 

            proxy_set_header X-Real-IP $remote_addr; 

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_set_header Accept-Encoding 'gzip';

            client_max_body_size    10m;

            client_body_buffer_size 256k;

            proxy_connect_timeout   300;

            proxy_send_timeout      300;

            proxy_read_timeout      300;

            proxy_buffer_size       128k;

            proxy_buffers           4 256k;

            proxy_busy_buffers_size 256k;

            proxy_temp_file_write_size 256k;

        }

        #error_page  404              /404.html;

        error_page  404  http://www.52xinghuo.com/home.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

    # HTTPS server

    #

    #server {

    #    listen       443;

    #    server_name  localhost;

    #    ssl                  on;

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;

    #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    #    ssl_prefer_server_ciphers   on;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

}

引用来自#7楼“joliny”的帖子

发现是try_files的原因。苍天啊。我要哭了。

你应该笑一下吧. 因为你发现了原因.

哥们的Nginx配置中还有很多地方需要改进的。

1. 错误页面可以考虑重新自定义

2. 注释的地方可以删除,不然维护起来很麻烦

3. 日志处理方面,可以考虑统一定义,关闭或者是导入/dev/null。

4. 为安全考虑,nginx运行用户可以考虑使用未登录权限的其他用户。

引用来自#9楼“mesopodamia”的帖子

哥们的Nginx配置中还有很多地方需要改进的。

1. 错误页面可以考虑重新自定义

2. 注释的地方可以删除,不然维护起来很麻烦

3. 日志处理方面,可以考虑统一定义,关闭或者是导入/dev/null。

4. 为安全考虑,nginx运行用户可以考虑使用未登录权限的其他用户。

恩恩,谢谢啦。下来就优化一下。

顶部