Голый домен службы приложений Linux Azure для https не работает с контейнером nginx - PullRequest
1 голос
/ 08 октября 2019

Я только что понял, что переход к моему приложению с использованием только https://example.com не работает, но другие URL-адреса разрешаются корректно, например так:

http://example.com -> https://www.example.com

http://www.example.com -> https://www.example.com

https://example.com -> ETIMEDOUT

http://www.example.com -> https://www.example.com

Итак, немного о приложении, этореагирующее веб-приложение, работающее в службе приложений Linux в Azure, где я запускаю контейнер nginx для обслуживания реагирующего приложения.

Я использую Namecheap для своего провайдера домена, и это две связанные записи DNS перенаправления, которые яиметь для моего домена:

enter image description here

И это настройки TLS / SSL для службы приложений Azure, на которую я перенаправляю:

enter image description here

Теперь я считаю, что это виновник, но я не совсем уверен, что здесь должно произойти. Это мой файл nginx.conf в контейнере nginx:

http{
    server {
        server_name example.com;
        return 302 $scheme://www.example.com$request_uri;
    }

    server {
        server_name www.example.com;
        root /usr/share/nginx/html;

        location ~* \.(?:manifest|appcache|html?|xml|json)$ {
          expires -1;
          # access_log logs/static.log; # I don't usually include a static log
        }

        location ~* \.(?:css|js)$ {
          try_files $uri =404;
          expires 1y;
          access_log off;
          add_header Cache-Control "public";
        }

        # Any route containing a file extension (e.g. /devicesfile.js)
        location ~ ^.+\..+$ {
          try_files $uri =404;
        }

        # Any route that doesn't have a file extension (e.g. /devices)
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
}
...