Ich habe Probleme beim Umleiten meiner nicht www URLs zu www und https.nginx Umleitung nicht www zu www und https für domain.com und subdomain
Was ich will:
http://domain.com
http://www.domain.com
https://domain.com
zu https://www.domain.com
umleiten soll.
http://api.domain.com
sollte umleiten zu https://api.domain.com
I seperata ssl Schlüssel für domain.com und api.domain.com haben. Die SSL-Einstellungen für api.domain.com werden über die node.js-App gehandhabt. Außerdem domain.com verwendet ein Root-Dokument und api.domain.com ist mit einer node.js Anwendung auf Port proxy_pass 1336
Was ich versucht:
# route non ssl api to ssl
server {
listen 80;
server_name api.domain.com;
return 301 https://api.domain.com;
}
# main ssl route for api.domain.com
server {
listen 443 ssl;
server_name api.domain.com;
location/{
proxy_pass https://localhost:1337;
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;
}
}
# route non ssl to www ssl
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com;
}
# route non www ssl to ssl
server {
listen 443 ssl;
server_name domain.com;
return 301 https://www.domain.com;
}
# main ssl route for domain.com
server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
server_name www.domain.com;
location/{
root /var/www/domain.com/www;
}
}
Routen, die wie erwartet arbeiten: https://www.domain.comhttp://domain.com http://www.domain.com
Problem:
https://domain.com -> ungesichert verbinden Ion, weil es versucht, das CERT von api.domain.com zu verwenden (diese, im Cache gespeichert werden könnten, weil vielleicht habe ich versucht, es vor einer anderen Art und Weise, die nicht in Ordnung war)
https://api.domain.com-> Umleitungen an https://domain.com
http://api.domain.com -> Umleitungen an https://domain.com
nginx Version: nginx/1.4.6 (Ubuntu)