如何配置 seafile 以在 HTTPS 中运行?

如何配置 seafile 以在 HTTPS 中运行?

我在 debian squeeze 上安装并配置了 seafile 1.6.1。默认情况下,它在 http 端口 8000 上运行。

为了设置 https,我将这 3 行添加到seafile.confhttps://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;
    }
}

格雷格。

相关内容