다음 'n'개의 하위 도메인과 함께 'example.com'이라는 도메인이 있고 모두 동일한 IP 주소 (서버 A라고 가정)에 'A'레코드가있는 것으로 가정합니다.Nginx Domain scheme 리디렉션 하위 도메인 제외
a.example.com, b.example.com, c.example.com ... z.example.com
는 mailgun '로 설정 CNAME 또 다른 하위 도메인'email.example.com '가있다 .org '.
이제 모든 HTTP 요청을 HTTPS로 전달하려는 nginx 구성의 서버 A가 있습니다.
server {
listen 80;
return 301 https://$host$request_uri;
}
그리고 email.example.com mailgun.org을 가리키는 제외하고 하위 도메인의 나머지 마찬가지로 443
server {
listen 443 ssl;
server_name a.example.com;
//SSL Details
location/{
root /var/www/a/;
}
개별 서브 도메인 요청을 처리하는 코드 블록으로 설정합니다.
이제 http://email.example.com 으로 리디렉션됩니다. (DNS 수준에서)
http://example.com 그들은 https://example.com으로 리디렉션됩니다. (서버 수준에서).
http://a.example.comhttps://a.example.com으로 리디렉션됩니다.
문제 (서버 수준에서) : 누군가가이 브라우저 https://email.example.com로 리디렉션되고있다 http://email.example.com를 방문하려고 http://example.com에 방문 후. mailgun.org에 대한 제어권이 없으므로 email.example.com에 대한 https 요청을 처리 할 수 있습니다.
nginx config를 설정하는 방법은 없습니까? HTTP 요청이 모두 email.example.com을 제외한 HTTPS로 리디렉션되는 위치는 어디입니까?
당신이 묘사하는 것은 다소 희한 할 것 같지 않습니다. 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로 리디렉션됩니다. –