我在 debian squeeze 上安装并配置了 seafile 1.6.1。默认情况下,它在 http 端口 8000 上运行。
为了设置 https,我将这 3 行添加到seafile.conf
(https://github.com/haiwen/seafile/wiki/Enable-Https-on-Seafile-web#wiki-Enable_https_on_seafile_httpserver):
https=true
pemfile=/path/seafile-data/conf/cacert.pem
privkey=/path/seafile-data/conf/privkey.pem
我ccnet.conf
也修改了:
SERVICE_URL = https://mycloud.mydomain.com:8000
我重新启动了 seafile 和 seahub。
当我输入这三行代码后,我就无法再进入登录页面了。我收到一条超时错误消息。经我验证,我的客户端和服务器之间的连接已建立。
有人知道问题是什么吗?
答案1
我必须正确配置 nginx 才能让 seafile 在 https 上工作:
server
{
listen 443;
ssl on;
ssl_certificate /etc/ssl/mycert.crt; # path to your cacert.pem
ssl_certificate_key /etc/ssl/mykey.key; # path to your privkey.pem
server_name mycloud.example.com;
location / {
fastcgi_pass 127.0.0.1:8000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS on;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /media {
root /data/cloud/seafile-server-1.6.1/seahub;
}
}
格雷格。