Субдомен с SSL-сертификатами недоступен - PullRequest
0 голосов
/ 01 июня 2019

У меня есть приложение asp net core, работающее на сервере Linux на движке Google Cloud.Домашняя страница отображается отлично, но когда я нажимаю кнопку, чтобы перейти к поддомену, я получаю «Этот сайт не доступен» с «ERR_NAME_NOT_RESOLVED».Я не вижу никаких ошибок в журнале приложений, поэтому я полагаю, что вызов не может даже достичь приложения.

Когда приложение работает на локальной машине Windows, все субдомены могут достичь и полностью работать,

Я попытался запустить приложение на локальной машине с Linux, и результаты остались прежними.Все работает нормально.

На субдомене сервера могут связаться только тогда, когда не запрашивается сертификат SSL для.

Например, когда я создаю поддомен: subdomain.example.com, могу ли я связаться с ним?С этой работой я запросил сертификат для текущего субдомена.Это работает также, и поддомен в настоящее время защищен.Но когда я создаю новый поддомен и повторяю предыдущие шаги, предыдущий поддомен больше не работает, а новый поддомен работает.

Кроме того, все эти субдомены отлично работают, когда не запрашивается сертификат, но тогда субдомены являются «незащищенными».

Сертификаты запрашиваются с помощью GoDaddy.

Это конфигурация Nginx:

server {
    server_name   example.com *.example.com;
    location / {
        proxy_pass         https://localhost:5001;
        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;
    }

    location /activityhub {
        proxy_pass https://localhost:5001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /votehub {
        proxy_pass https://localhost:5001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

    }

    listen 443 ssl; 
    ssl_certificate /root/letsencrypt/dehydrated/certs/example.com/fullchain.pem; 
    ssl_certificate_key /root/letsencrypt/dehydrated/certs/example.com/privkey.pem;
}

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

Идея - это сайт, где пользователи могут создавать разные субдомены для своих организаций.Поэтому, когда пользователь нажимает кнопку, он может создать поддомен: organisation.example.com для отображения своей собственной организации.В настоящий момент приложение создает поддомен на https://organisation.localhost:5001. Теперь это должно автоматически отображаться на веб-сайте с защитой dns, например "https://organisation.example.com.. Домены, запрашиваемые для SSL-сертификата, - example.com и * .example..com

Я ожидаю, что все субдомены будут работать с SSL-сертификатом, а субдомены будут небезопасными или недоступными. Все эти субдомены должны работать с подстановочными знаками.

...