2016-06-10 2 views
0

Nginx ssl_protocols의 설정을 변경하려고하지만 변경 사항이 서버에 반영되지 않습니다.Nginx ssl_protocol 설정이 작동하지 않습니다.

처음에는 우분투 12.04를 사용했기 때문에 생각했지만 지금은 14.04로 업데이트되었습니다.

Nginx의 버전 :

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 버전 :

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; 
    } 

} 

구성 파일이 올바르게로드되고 둘 다 의도 한대로 사용됩니다. 관련성이있는 경우 서버는 Unicorn과 함께 Ruby on Rails를 실행하고 있습니다.

누구에게 무슨 문제가있을 수 있습니까?

+1

정확한 오류 란 무엇인가요? 어떤 프로토콜을 기대하며 무엇을 협상합니까? – Rahul

+0

오류는 없습니다. 문제는 구성이 작동하지 않는다는 것입니다. TLSv1.1 및 TLSv1.2를 사용할 수 있고 SSLv3을 사용하지 않을 것으로 예상하고 있지만 SSLv3 및 TLSv1.0 만 작동한다는 테스트가 반환됩니다. – nesiseka

+0

SSL이 켜져있는 다른 설정 파일이 있습니까? 다른 가상 서버와 간섭 할 가능성이 있습니다. – Rahul

답변

0

문제는 서버 자체가 아니라 잘못된 SSL 암호가 선택된 AWS Load Balancer에서 발생했습니다.

관련 문제