Seafile开启HTTPS

文章首发于:Panda's Blog

上篇中已配置好Seafile和宝塔面板,此篇文章中将使用Nginx反向代理实现HTTPS访问

申请ssl证书

可以使用宝塔证书或其他证书
此篇中使用的是宝塔证书
注册宝塔账号
注册完成后登陆,申请ssl证书需要实名认证
认证后选择 ssl管理 → 申请证书
我选用的是TrustAsia免费证书


选择DNS验证
申请完成后需验证域名
点击详情
复制记录值


登陆你的域名控制台
我使用的是万网域名
添加解析记录
记录类型选择TXT
主机记录填你申请证书的域名前缀,我的域名是cloud.****.com.cn所以此处填cloud
记录值按照宝塔要求填写

在宝塔中点击 验证域名
若验证失败等待几分钟再尝试
验证成功

开启HTTPS

创建站点

浏览器访问宝塔面板
我的面板地址是cloud.****.com.cn:****/*****
点击 网站→添加站点
输入你的域名后提交

配置Nginx

点击 设置


点击 反向代理→添加反向代理
代理名称任意
目标URL:http:127.0.0.1:8000
发送域名:你的域名地址

点击 SSL 绑定宝塔账号后即可看见刚才申请的ssl证书,点击 部署 并开启 强制HTTPS

在配置文件中添加以下内容(注意添加位置)

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
        send_timeout  36000s;
    }

修改HTTPS端口

未备案的云主机80端口和443端口可能封闭
此处我将HTTPS端口改为8888



宝塔面板默认端口也是8888,我已将宝塔设置了其他端口访问
设置其他端口需放行端口
例如:

  • 设置444端口,则需在宝塔面板端口放行处放行444端口
  • 设置8888端口则需先修改宝塔面板默认端口(8888端口默认放行)
    通过外网对端口情况测试
    注:若443端口可正常访问则可跳过此步骤

修改Seafile URL

登陆Seafile点击右上角系统管理



在设置中修改SERVICE_URL和FILE_SERVER_ROOT
SERVICE_URL:https://域名:端口
FILE_SERVER_ROOT:https://域名:端口/seafhttp


修改gunicorn.conf

上篇中我们未使用Nginx反向代理所以修改了gunicorn.conf后直接访问,本篇中我们使用了反向代理所以把绑定地址改回来

[root@ecs-a869 ~]# vi /home/seafile/conf/gunicorn.conf
import os

daemon = True
workers = 5

# default localhost:8000
bind = "0.0.0.0:8000"

# Pid
pids_dir = '/home/seafile/pids'
pidfile = os.path.join(pids_dir, 'seahub.pid')

# for file upload, we need a longer timeout value (default is only 30s, too short)
timeout = 1200

limit_request_line = 8190
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                               
"../conf/gunicorn.conf" 17L, 300C

i 键INSERT 键 修改(出现-- INSERT --标志)
bind = "0.0.0.0:8000"改为bind = "127.0.0.1:8000"
修改完成后 Esc 键 退出修改(-- INSERT --标志消失)
输入:wq保存

重启

Xshell连接云主机重启Seafile

[root@ecs-a869 ~]# cd /home/seafile/seafile-server-*
[root@ecs-a869 seafile-server-7.0.4]# ./seafile.sh restart

Stopping seafile server ...
[07/27/19 18:15:53] ../common/session.c(132): using config file /home/seafile/conf/ccnet.conf
Starting seafile server, please wait ...
** Message: seafile-controller.c(718): No seafevents.

Seafile server started

Done.
[root@ecs-a869 seafile-server-7.0.4]# ./seahub.sh restart

Stopping seahub ...
LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

Seahub is started

Done.

[root@ecs-a869 seafile-server-7.0.4]# service nginx restart
Stoping nginx...  done
Starting nginx...  done

测试

现在你可以通过HTTPS访问Seafile了


OK!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容