Предположим, что у меня есть домен с именем example.com вместе со следующим «n» количеством поддоменов, все из них с записью «A» на тот же IP-адрес (предположим, сервер A).Переадресация доменной схемы Nginx, исключая субдомен
a.example.com, b.example.com, c.example.com ... z.example.com
Существует еще один поддомен 'email.example.com' с CNAME значение «mailgun .org.
Теперь у меня есть сервер A со следующей конфигурацией nginx, в которой я хочу перенаправить все HTTP-запросы на HTTPS.
server {
listen 80;
return 301 https://$host$request_uri;
}
И множество кодовых блоков для обработки отдельных запросов к югу от домена до 443.
server {
listen 443 ssl;
server_name a.example.com;
//SSL Details
location/{
root /var/www/a/;
}
Аналогично для остальных поддоменов, за исключением email.example.com, который указывает на mailgun.org.
http://email.example.com они будут перенаправлены на http://mailgun.com. (На уровне DNS)
http://example.com они будут перенаправлены на https://example.com. (На уровне сервера).
http://a.example.com они будут перенаправлены на https://a.example.com. (На уровне сервера)
Проблема: После посещения к http://example.com, когда кто-то пытается посетить http://email.example.com они перенаправляют https://email.example.com браузером. Поскольку у меня нет контроля над mailgun.org, я могу обрабатывать запросы https для email.example.com
Есть ли все-таки, чтобы установить конфигурацию nginx, где в каждом запросе HTTP будет перенаправлен на HTTPS, кроме email.example.com?
То, что вы описываете, звучит довольно маловероятно - проблема с http: // email.example.com появляется в браузере или в DNS, поэтому конфигурация nginx не имеет к этому никакого отношения. Я предлагаю, чтобы ваш первый курс действий заключался в том, чтобы попытаться определить эмпирически, что DNS/браузер/nginx на самом деле делают. – symcbean
Во-первых, нет перенаправления «на уровне DNS». Во-вторых, какие * данные SSL * вы используете? Есть ли заголовок HSTS? –
@symcbean Точно. Как сообщить браузеру не перенаправлять http: // email.example.com на https? Когда я посещаю http://example.com его перенаправление на https://example.com, но после этого браузеры перенаправляют даже email.example.com на https. –