SO ...Konfiguracja Nginx + CloudFlare + SSL
Mam aplikacji węzeł uruchomiony na serwerze na porcie 8080 i staram się być włączona go do pracy przez SSL przy użyciu Nginx i CloudFlare. Uwaga Po ...
- Mój gospodarz jest Ubuntu 16,04 LTS
- Obecnie używam CloudFlare Universal SSL (free tier)
- Mam testowej konfiguracji hosta DNS jako test.company.com
- mam skopiowane CloudFlare pochodzenie ściągania cert od this Prześlij do mojego Test Box/etc/nginx/certs
... mój poprzedni konfiguracji nginx wyglądało ...
server {
listen 80;
location/{
proxy_pass http://localhost:8080;
}
}
... to teraz wygląda ...
# HTTP
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
return 301 https://$host$request_uri;
}
# HTTPS
server {
listen 443;
server_name test.company.com;
ssl on;
ssl_client_certificate /etc/nginx/certs/cloudflare.crt;
ssl_verify_client on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:8080/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
... I za przykładem here a link to zapewnia here i jestem sceptyczny, że wymagana jest wszystko powyżej (I” m minimalistyczny). Ilekroć uruchamiam sudo nginx -t
nadal dostaję błędy wokół ssl_certificate i ssl_certificate_key nie jest określony. Nie mogę wymyślić, jak pobrać wymagane pliki z CloudFlare i z tego co rozumiem, nie wierzę, że powinienem.
Gdyby spróbować ponownie wykorzystać CloudFlare pochodzenie ściągania cert zarówno jako ssl_certificate i ssl_certificate_key, pojawia się błąd nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/certs/cloudflare.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: ANY PRIVATE KEY error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
Jestem przekonany, że jest możliwe, aby stworzyć własny certyfikat z podpisem własnym, ale Planuję wykorzystać tę strategię, aby ostatecznie uruchomić maszyny produkcyjne. Pomocna wskazówka w dobrym kierunku jest bardzo cenna.