RadosGW over HTTPS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

I am using RadosGW over NGINX, with Swift API, and everything is
working great, over HTTP, but with HTTPS, I keep getting errors, and
I'm guessing is something on the gateway itself.

Does anyone have a working HTTPS gateway with nginx? Can you provide
it, so I can compare to mine?

If I do a HTTP request, using Swift client from my machine, I get the
response ok, but If I try it with HTTPS, I get:

Account HEAD failed: http://gateway.local/swift/v1 400 Bad Request

and on nginx side:

2014/10/08 13:37:34 [info] 18198#0: *50 client sent plain HTTP request
to HTTPS port while reading client request headers, client:
10.5.5.222, server: *.gatew
ay.local, request: "HEAD /swift/v1 HTTP/1.1", host: "gateway.local:443"
2014/10/08 13:37:34 [info] 18197#0: *48 client 10.5.5.222 closed
keepalive connection

I have wiresharked my connection, and there is no evidence that HTTP
traffic is going out, when I make the request via HTTPS, so thats why
I believe that the issue is on the gateway end.

NGINX Config:
server {
        listen 80;
        listen 443 ssl default;

        server_name *.gateway.bcitestes.local gateway.bcitestes.local;
        error_log logs/error_https.log debug;
        client_max_body_size 10g;

        # This is the important option that tengine has, but nginx does not
        fastcgi_request_buffering off;

        ssl_certificate      /etc/pki/tls/certs/ca_rgw.crt;
        ssl_certificate_key  /etc/pki/tls/private/ca_rgw.key;

        ssl_session_timeout  5m;

        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
        location / {
                fastcgi_pass_header     Authorization;
                fastcgi_pass_request_headers on;
                fastcgi_param HTTPS on;

                if ($request_method  = PUT ) {
                rewrite ^ /PUT$request_uri;
                 }
                 include fastcgi_params;
                 fastcgi_param HTTPS on;

                 fastcgi_pass
unix:/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock;
         }

         location /PUT/ {
                 internal;
                 fastcgi_pass_header     Authorization;
                 fastcgi_pass_request_headers on;

                 include fastcgi_params;
                 fastcgi_param  CONTENT_LENGTH   $content_length;
                 fastcgi_param HTTPS on;

                 fastcgi_pass
unix:/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock;
         }

        }

Ceph config:
[client.radosgw.gw]
host = GATEWAY
keyring = /etc/ceph/keyring.radosgw.gw
rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
log file = /var/log/ceph/client.radosgw.gateway.log
rgw print continue = false
rgw dns name = gateway.bcitestes.local
rgw enable ops log = false
rgw enable usage log = true
rgw usage log tick interval = 30
rgw usage log flush threshold = 1024
rgw usage max shards = 32
rgw usage max user shards = 1
rgw cache lru size = 15000
rgw thread pool size = 2048

------------------

Thanks in advance,

Marco Garcês
#sysadmin
Maputo - Mozambique
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com





[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux