我已经在 Ubuntu 服务器上安装了 BitTorrent Sync,但注意到 Web GUI 不使用 SSL 进行登录(https://server:8888/gui
不起作用,但http://server:8888/gui
可以)。这既适用于登录,也适用于登录时使用 GUI。
有什么办法可以强制它使用 ssl 吗?
答案1
简单的方法
使用btsync
配置来实现这一点,参见./btsync --dump-sample-config
配置键“force_https”、“ssl_certificate”、“ssl_private_key”。
尽管这看起来更简单,但我不喜欢btsync
用户有权访问证书文件。这就是为什么我仍然更喜欢下一种方法。
艰辛的道路
我找到了解决方案cyberciti.biz/faq/如何-linux-unix-setup-nginx-ssl-proxy使用 nginx 作为代理服务器。已在我的 ubuntu 服务器上成功安装和配置。
进一步的步骤假设您已经在目录/etc/nginx/certs/
(ssl.crt
和ssl.key
)中创建了 SSL 证书。
安装nginx
sudo apt-get install nginx
(可选)停用默认配置
sudo rm /etc/nginx/sites-enabled/default
创建代理配置,/etc/nginx/sites-available/proxy
内容如下
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;
}
}
相应地更改值your-server-name.com
、{destination-host}
和{destination-port}
其他值。
启用配置
sudo ln -s /etc/nginx/sites-available/proxy /etc/nginx/sites-enabled/proxy
重新开始nginx
sudo service nginx restart