2016-06-10 18 views
0

Ich versuche, die Einstellungen für Nginx ssl_protocols zu ändern, aber die Änderungen spiegeln nicht auf dem Server.Nginx ssl_protocol Einstellung funktioniert nicht

Zuerst dachte ich, es sei, weil wir Ubuntu 12.04 benutzten, aber jetzt sind wir auf 14.04 aktualisiert.

Nginx Version:

nginx version: nginx/1.10.1 
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 
built with OpenSSL 1.0.1f 6 Jan 2014 
TLS SNI support enabled 
configure arguments: --sbin-path=/usr/local/sbin/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module 

Openssl Version:

OpenSSL 1.0.1f 6 Jan 2014 

Ngnix.conf:

http { 
    include  /usr/local/nginx/conf/mime.types; 
    default_type application/octet-stream; 

    tcp_nopush  on; 
    keepalive_timeout 65; 
    tcp_nodelay  off; 

    log_format main '$remote_addr - $remote_user [$time_local] $status ' 
         '"$request" $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 
    error_log /var/log/nginx/error.log debug; 

    open_file_cache   max=1000 inactive=20s; 
    open_file_cache_valid  30s; 
    open_file_cache_min_uses 2; 
    open_file_cache_errors on; 
    client_body_timeout 10; 
    client_header_timeout 10; 

    sendfile  on; 

    # output compression 
    gzip on; 
    gzip_min_length 1100; 
    gzip_buffers  4 8k; 
    gzip_proxied  any; 
    gzip_types  text/plain text/html text/css text/js application/x-javascript application/javascript application/json; 

    # include config for each site here 
    include /etc/nginx/sites/*; 

/etc/nginx/sites/site.conf:

server { 
    listen 443 ssl; 
    server_name server_name; 
    root /home/deploy/server_name/current/public; 
    access_log /var/log/nginx/server_name.access.log main; 

    ssl_certificate   /usr/local/nginx/conf/ssl/wildcard.server_name.com.crt; 
    ssl_certificate_key  /usr/local/nginx/conf/ssl/wildcard.server_name.com.key.unsecure; 
    ssl_client_certificate /usr/local/nginx/conf/ssl/geotrust.crt; 

    ssl_protocols TLSv1.2 TLSv1.1 TLSv1; 

    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA; 
    ssl_prefer_server_ciphers on; 

    location ~ ^/assets/ { 
    expires max; 
    add_header Cache-Control public; 
    add_header ETag ""; 
    break; 
    } 

    location/{ 
    try_files $uri @server_name; 
    proxy_set_header X-Forwarded-Proto https; 
    } 

    location @server_name { 
    include proxy.conf; 
    proxy_pass http://server_name; 
    proxy_set_header X-Forwarded-Proto https; 
    } 

    # stats url 
    location /nginx_stats { 
    stub_status on; 
    access_log off; 
    } 

} 

Die Konfigurationsdateien werden ordnungsgemäß geladen und beide werden wie beabsichtigt verwendet. Wenn es relevant ist, führt der Server Ruby on Rails mit Unicorn aus.

Hat jemand eine Idee, was könnte falsch sein?

+1

Was ist der genaue Fehler? Welches Protokoll erwarten Sie und was wird ausgehandelt? – Rahul

+0

Es gibt keinen Fehler. Das Problem ist, dass die Konfiguration nicht funktioniert - ich erwarte, dass TLSv1.1 und TLSv1.2 verfügbar sind und SSLv3 nicht, aber die Tests geben zurück, dass nur SSLv3 und TLSv1.0 funktionieren. – nesiseka

+0

Gibt es andere Konfigurationsdateien mit SSL aktiviert? Es ist möglich, dass eine andere Konfiguration diesen virtuellen Server stört. – Rahul

Antwort

0

Das Problem war nicht im Server selbst, sondern stattdessen im AWS Load Balancer mit falschen SSL-Verschlüsselungen ausgewählt.

Verwandte Themen