Nginx не может перенаправить с no-www на www - PullRequest
0 голосов
/ 07 апреля 2019

Я реализовал конфигурацию моего nginx на основе предложений , конфигурация работает, когда запрос сделан на http://www.example.com, он успешно перенаправляет на https://www.example.com.

Однако он не работает для не-www, поэтому, когда я делаю запрос к https://example.com, nginx не удается перенаправить на https://www.example.com

посоветуйте, пожалуйста, мой конфиг, как показано ниже:

upstream oms {
   server localhost:8081;
}

upstream backend {
       server localhost:8082;
}

#
# Redirect all non-www to www
#
server {
    server_name          example.com;
    ssl_certificate      /etc/ssl/certs/secure.example.com.9.2019.chain.crt;
    ssl_certificate_key  /etc/ssl/private/example.com.key;

    listen               *:80;
    listen               *:443 ssl spdy;
    listen               [::]:80 ipv6only=on;
    listen               [::]:443 ssl spdy ipv6only=on;

    return 301 https://www.example.com$request_uri;
}

#
# Redirect all non-encrypted to encrypted
#
server {
    server_name          www.example.com;
    listen               *:80;
    listen               [::]:80;

    return 301 https://www.example.com$request_uri;
}


server {
        #listen  80;
        #listen 443 ssl;
        listen               *:443 ssl spdy;
        listen               [::]:443 ssl spdy;
        ssl on;
        ssl_certificate      /etc/ssl/certs/secure.example.com.9.2019.chain.crt;
        ssl_certificate_key  /etc/ssl/private/example.com.key;

        server_name www.abc.com;
        access_log /var/log/nginx/nginx.vhost.access.log;
        error_log /var/log/nginx/nginx.vhost.error.log;

        location / {
                proxy_pass "http://oms";
        }

        location /backend/ {
                proxy_pass "http://backend";
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...