NGINX https://www.example.com Не работает Certbot, ASP Net Core - PullRequest
0 голосов
/ 27 февраля 2019

Пожалуйста, помогите, у меня проблемы с настройкой моего сайта на Nginx (ubuntu).

Мой сайт - это сайт ASP Net Core (именно поэтому я пересылаю заголовки) Я пытаюсь перенаправить всеиз следующих опций на тот же сайт и

обмениваются данными только через безопасный уровень (HTTPS) :

В настоящее время все работают, кроме опции 4

  1. http://example.com
  2. https://example.com
  3. http://www.example.com
  4. https://www.example.com

Также яЯ довольно новичок в Nginx и маршрутизации в целом, если кто-то может привести пример того, как аккуратно поддерживать конфигурацию нескольких сайтов, что было бы здорово.

Моя текущая конфигурация (после запуска nginx -T)

# configuration file /etc/nginx/sites-enabled/default:
server {
 listen 80; 
 location / {
 proxy_pass http://localhost:5000;
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection keep-alive;
 proxy_set_header Host $host;
 proxy_cache_bypass $http_upgrade;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 }
}    
configuration file /etc/nginx/sites-enabled/example.com:

    server {

            root /var/www/example.com;

            server_name example.com www.example.com;

            location / {
                    proxy_pass         http://localhost:5000;
                    proxy_http_version 1.1;
                    proxy_set_header   Upgrade $http_upgrade;
                    proxy_set_header   Connection keep-alive;
                    proxy_set_header   Host $host;
                    proxy_cache_bypass $http_upgrade;
                    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

            proxy_set_header   X-Forwarded-Proto $scheme;
            }

        listen [::]:443 ssl ipv6only=on; # managed by Certbot
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot





    }
    server {
        if ($host = example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot


        if ($host = www.example.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot


            listen 80;
            listen [::]:80;

            server_name example.com www.example.com;
        return 404; # managed by Certbot




    }
...