caminho fácil
Use a configuração btsync
para conseguir isso, consulte as chaves de configuração ./btsync --dump-sample-config
"force_https", "ssl_certificate", "ssl_private_key".
Mesmo isso parece mais simples, eu não gosto que o usuário btsync
tenha acesso aos arquivos de certificado. É por isso que ainda prefiro o próximo método.
caminho difícil
Eu encontrei a solução em cyberciti.biz/faq/howto-linux -unix-setup-nginx-ssl-proxy usando o nginx como servidor proxy. Instalado e configurado com sucesso na instalação do meu servidor ubuntu.
Outras etapas presumem que você tenha criado certificados SSL no diretório /etc/nginx/certs/
( ssl.crt
e ssl.key
).
Instalar nginx
sudo apt-get install nginx
(Opcional) Desativar a configuração padrão
sudo rm /etc/nginx/sites-enabled/default
Criar configuração de proxy em /etc/nginx/sites-available/proxy
com conteúdo
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;
}
}
Altere os valores your-server-name.com
, {destination-host}
, {destination-port}
e outros valores de acordo.
Ativar a configuração
sudo ln -s /etc/nginx/sites-available/proxy /etc/nginx/sites-enabled/proxy
Reinicie o nginx
sudo service nginx restart