Nginx -收到的所有请求都转到同一个网站

7cjasjjr  于 2023-06-05  发布在  Nginx
关注(0)|答案(1)|浏览(207)

我试图寻找一个解决这个问题的办法已经有一段时间了。但似乎什么都不管用。
问题是每个请求总是指向同一个网站(在ISPconfig上配置的第一个网站)。如果我禁用第一个,它会转到第二个-现在是第一个)。它甚至不会违约。
调查这个问题,我发现可能是nginx在请求中接收到了错误的主机(我在域名提供商dns服务器中为我的子域设置了一个cname)。
所以我运行了tcpdump,但我发现每个请求实际上都被正确接收了:

root@server:/etc/nginx/sites-enabled# tcpdump -n -S -s 0 -A 'tcp dst port 80' | grep "Host"
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Host: cartoes24.wagnerux.de
Host: cartoes24.wagnerux.de
Host: cartoes24.wagnerux.de
Host: test.wagnerux.de
Host: test.wagnerux.de
Host: test.wagnerux.de

我的vhost配置:
-- cartoes24 vhost:

server {
        listen 192.168.1.1:80;

        server_name cartoes24.wagnerux.de;

        root   /var/www/cartoes24.wagnerux.de/web/;


        index index.html index.htm index.php index.cgi index.pl index.xhtml;


        error_page 400 /error/400.html;
        error_page 401 /error/401.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 405 /error/405.html;
        error_page 500 /error/500.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        recursive_error_pages on;
        location = /error/400.html {

            internal;
        }
        location = /error/401.html {

            internal;
        }
        location = /error/403.html {

            internal;
        }
        location = /error/404.html {

            internal;
        }
        location = /error/405.html {

            internal;
        }
        location = /error/500.html {

            internal;
        }
        location = /error/502.html {

            internal;
        }
        location = /error/503.html {

            internal;
        }

        error_log /var/log/ispconfig/httpd/cartoes24.wagnerux.de/error.log;
        access_log /var/log/ispconfig/httpd/cartoes24.wagnerux.de/access.log combined;

        location ~ /\. {
                        deny all;
        }

        location ^~ /.well-known/acme-challenge/ {
                        access_log off;
                        log_not_found off;
                        root /usr/local/ispconfig/interface/acme/;
                        autoindex off;
                        index index.html;
                        try_files $uri $uri/ =404;
        }

        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location /stats/ {

            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client2/web1/web/stats/.htpasswd_stats;
        }

        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }

        location ~ \.php$ {
            try_files /14d86c825b76b9bcc54ed6b1dbff2e23.htm @php;
        }

        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web1.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }

        location /cgi-bin/ {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            root /var/www/clients/client2/web1;
            gzip off;
            fastcgi_pass  unix:/var/run/fcgiwrap.socket;
            fastcgi_index index.cgi;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }
}

-- test vhost:

server {
        listen 192.168.1.1:80;

        server_name cartoes24.wagnerux.de;

        root   /var/www/cartoes24.wagnerux.de/web/;


        index index.html index.htm index.php index.cgi index.pl index.xhtml;


        error_page 400 /error/400.html;
        error_page 401 /error/401.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 405 /error/405.html;
        error_page 500 /error/500.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        recursive_error_pages on;
        location = /error/400.html {

            internal;
        }
        location = /error/401.html {

            internal;
        }
        location = /error/403.html {

            internal;
        }
        location = /error/404.html {

            internal;
        }
        location = /error/405.html {

            internal;
        }
        location = /error/500.html {

            internal;
        }
        location = /error/502.html {

            internal;
        }
        location = /error/503.html {

            internal;
        }

        error_log /var/log/ispconfig/httpd/cartoes24.wagnerux.de/error.log;
        access_log /var/log/ispconfig/httpd/cartoes24.wagnerux.de/access.log combined;

        location ~ /\. {
                        deny all;
        }

        location ^~ /.well-known/acme-challenge/ {
                        access_log off;
                        log_not_found off;
                        root /usr/local/ispconfig/interface/acme/;
                        autoindex off;
                        index index.html;
                        try_files $uri $uri/ =404;
        }

        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location /stats/ {

            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client2/web1/web/stats/.htpasswd_stats;
        }

        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }

        location ~ \.php$ {
            try_files /14d86c825b76b9bcc54ed6b1dbff2e23.htm @php;
        }

        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web1.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }

        location /cgi-bin/ {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            root /var/www/clients/client2/web1;
            gzip off;
            fastcgi_pass  unix:/var/run/fcgiwrap.socket;
            fastcgi_index index.cgi;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }
}

-- default vhost:server { listen 80 default_server;

root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;
    error_log /home/wagner/default_server_error.log;
    return 444;
}

我很抱歉,如果这个问题已经得到了回答,但我发现的每一个“解决方案”都不适合我。
谢谢!

6qqygrtg

6qqygrtg1#

我找到了解决办法。我使用的是ISPconfig,在WEBSITE选项的Web Domain选项卡的IPv4/IPv6配置中,我必须插入服务器的实际本地IP,而不是 *。我不知道原因,但它是这样工作的。

相关问题