Łatwy sposób
btsync
Aby to osiągnąć, użyj konfiguracji, zobacz ./btsync --dump-sample-config
klucze konfiguracyjne „force_https”, „ssl_certificate”, „ssl_private_key”.
Nawet to wydaje się prostsze, nie podoba mi się, że ten btsync
uż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.crt
i 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/proxy
z 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