Раньше у меня были клиентские компьютеры (Windows 7), настроенные для использования WSUS. Когда мы пошли за обновлениями Windows 10, нам сказали, что служба обновления Windows Server несовместима с Windows 10 и ее следует удалить вручную. Мы практически не использовали WSUS, Если поддомен не распознается, перенаправьте на www. Требовать HTTPS на всех поддоменах. ...
Я пытаюсь выполнить три задачи:
Моя конфигурация nginx на данный момент такова:
map $subdomain $subdomain_port {
default 8000;
www 8000;
subdomain1 8001;
subdomain2 8002;
subdomain3 8003;
}
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ~^(?P<subdomain>.+?)\.mydomain\.com$;
ssl_certificate <cert>;
ssl_certificate_key <key>;
location / {
# ... various proxy headers, then ...
proxy_pass http://127.0.0.1:$subdomain_port;
proxy_redirect off;
}
}
Эта почти работает (выполняет №1 и №3), но вместо перенаправления foo.mydomain.com С
на www.mydomain.com
, он просто обслуживает контент www
без перенаправления. Я не уверен, как перенаправить не отображенные поддомены, не разделяя все это на отдельные блоки server
, чего я бы не стал делать.
Есть ли способ перенаправить все субдомены, явно не упомянутые на карте, на www
?
У меня работает следующее ...
Вот изменение в конфигурации Nginx, чтобы он работал ...
map $subdomain $subdomain_port {
default 8888;
www 8000;
subdomain1 8001;
subdomain2 8002;
subdomain3 8003;
}
server {
listen 8888;
server_name _;
return 301 https://www.domainname.com/$request_uri;
}
# other configs remain the same
Я использовал 8888 в качестве порта по умолчанию. Любой неиспользуемый порт должен работать.
Просто установите сервер по умолчанию. Вот мой
server {
listen 80 default_server;
server_name _;
return 302 https://www.example.com;
}
Вы можете делать все, что хотите.
Просто чтобы скажем, на AWS мне нужно было добавить запись A «* .staging.mydomain.com» в Route53, указывающую на тот же IP-адрес экземпляра EC2 (например, запись для «staging.mydomain.com»)