Jak uruchomić GUI przeglądarki BitTorrent Sync przez ssl

5

Zainstalowałem BitTorrent Sync na moim serwerze Ubuntu, ale zauważyłem, że GUI sieci nie używa SSL do logowania ( https://server:8888/guijednak http://server:8888/guinie działa). Służy to zarówno do logowania, jak i korzystania z GUI podczas logowania.

Czy jest jakiś sposób, aby zmusić go do korzystania z SSL?

Lindhe
źródło
1
Spróbuję postępować zgodnie z tym przewodnikiem, aby to osiągnąć.
Gedrox

Odpowiedzi:

5

Łatwy sposób

btsyncAby to osiągnąć, użyj konfiguracji, zobacz ./btsync --dump-sample-configklucze konfiguracyjne „force_https”, „ssl_certificate”, „ssl_private_key”.

Nawet to wydaje się prostsze, nie podoba mi się, że ten btsyncużytkownik ma dostęp do plików certyfikatów. Dlatego nadal wolę następną metodę.

Ciężka droga

Znalazłem rozwiązanie w cyberciti.biz/faq/howto-linux-unix-setup-nginx-ssl-proxy używając nginx jako serwera proxy. Pomyślnie zainstalowano i skonfigurowano na mojej instalacji serwera Ubuntu.

Dalsze kroki zakładają, że masz utworzone certyfikaty SSL w katalogu /etc/nginx/certs/( ssl.crti ssl.key).

zainstalować nginx

sudo apt-get install nginx

(Opcjonalnie) Dezaktywuj domyślną konfigurację

sudo rm /etc/nginx/sites-enabled/default

Utwórz konfigurację proxy /etc/nginx/sites-available/proxyz zawartością

server {
    ### server port and name ###
    listen          443;
    ssl             on;
    server_name     your-server-name.com;

    ### SSL log files ###
    access_log      /var/log/nginx/ssl-access.log;
    error_log       /var/log/nginx/ssl-error.log;

    ### SSL cert files ###
    ssl_certificate      /etc/nginx/certs/ssl.crt;
    ssl_certificate_key  /etc/nginx/certs/ssl.key;

    ### Add SSL specific settings here ###

    ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers RC4:HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    keepalive_timeout    60;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  10m;

    ### We want full access to SSL via backend ###
    location / {
            proxy_pass  http://{destination-host}:{destination-port};

            ### force timeouts if one of backend is died ##
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

            ### Set headers ####
            proxy_set_header        Accept-Encoding   "";
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

            ### Most PHP, Python, Rails, Java App can use this header ###
            #proxy_set_header X-Forwarded-Proto https;##
            #This is better##
            proxy_set_header        X-Forwarded-Proto $scheme;
            add_header              Front-End-Https   on;


            ### By default we don't want to redirect it ####
            proxy_redirect     off;
  }

}

Zmiany wartości your-server-name.com, {destination-host}, {destination-port}oraz inne wartości odpowiednio.

Włącz konfigurację

sudo ln -s /etc/nginx/sites-available/proxy /etc/nginx/sites-enabled/proxy  

Uruchom ponownie nginx

sudo service nginx restart
Gedrox
źródło
Och, miło. Dziękuję Ci! I zgadzam się - udzielenie btsync dostępu do klucza nie jest zbyt miłe ...
lindhe,
Właściwym sposobem byłoby odsłuchanie GUI synchronizacji na localhost: 8888. Przy tej konfiguracji proxy web GUI będzie nadal dostępny w postaci zaszyfrowanej na porcie 8888.
Danie
Masz na myśli „web GUI nadal będzie dostępna nie szyfrowane na porcie 8888”?
Gedrox 16.04.15