Субдомен всегда перенаправляет на основной домен - PullRequest
0 голосов
/ 02 октября 2019

Я хотел настроить промежуточную версию нашего веб-сайта Wordpress, поэтому я скопировал все, добавил новую конфигурацию nginx и указал субдомен на сервер (все это существует на том же сервере Ubuntu).

Я добавил базовую аутентификацию на staging.mydomain.com, и когда я захожу по URL на любом компьютере (и в режиме инкогнито), я получаю всплывающее окно авторизации, но когда я его заполняю, меня перенаправляют прямо на mydomain.com. Ранее у меня была именно эта проблема, и это была проблема с кэшированием, но я не думаю, что это именно тот случай, поэтому мне кажется, что я что-то упустил в своей конфигурации Nginx.

Вот конфигурация nginx дляосновной сайт:

limit_req_zone $binary_remote_addr zone=one:10m rate=14r/s;
limit_req_zone $binary_remote_addr zone=login:10m rate=2r/s;

server {
    listen 80;
    server_name mydomain.com www.mydomain.com;
    rewrite        ^ https://$server_name$request_uri? permanent;
}

server {
     listen 443;

     server_name mydomain.com www.mydomain.com;

     root /var/www/mydomain;

     index index.php;


     location = /wp-login.php {
         limit_req   zone=login  burst=5 nodelay;
         include fastcgi_params;
         fastcgi_intercept_errors on;
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/run/php/php7.0-fpm.sock;
     }

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

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

     location / {
             try_files $uri $uri/ /index.php?$args;
             proxy_read_timeout 300;
     }

     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
     }

     location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
             expires max;
             log_not_found off;
     }

     ssl     on;
     ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
     keepalive_timeout   70;

     ssl_prefer_server_ciphers On;
     ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

}

А вот конфиг nginx для staging.mydomain.com:

server {
    listen 80;
        server_name staging.mydomain.com www.staging.mydomain.com;
    rewrite        ^ https://staging.mydomain.com$request_uri? permanent;
    return 301  https://staging.mydomain.com;
}

server {
    listen 443;

    server_name staging.mydomain.com www.staging.mydomain.com;

        root /var/www/mydomain-staging;

        index index.php index.html;

        auth_basic          "Admin Area";
        auth_basic_user_file    /etc/apache2/.htpasswd;

    location = /wp-login.php {
        limit_req   zone=login  burst=5 nodelay;
            include fastcgi_params;
            fastcgi_intercept_errors on;
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

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

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

        location / {
                try_files $uri $uri/ /index.php?$args;
        proxy_read_timeout 300;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
               fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }

    ssl     on;
    ssl_certificate /etc/letsencrypt/live/staging.mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/staging.mydomain.com/privkey.pem;
    keepalive_timeout   70;

    ssl_prefer_server_ciphers On;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...