Joplin给WebDAV配置SSL
HDUZN

在线笔记本的数据,想直接存到群晖NAS里,那就在自己的硬盘上了。在群晖上开了WebDAV,关于这个操作,看站内文章:Joplin使用群晖NAS作同步存储

然后反正自己有服务器,开个内网穿透,也就能让云笔记随时同步了。

虽然 Joplin丑丑的,但好在开源免费,还有PC端和ios端。

但从某个版本开始,ios端的同步,就不支持http了,只能用https。

于是,我只能给服务器配的域名,又申请了SSL证书。

然后,用 docker 创建了一个 nginx 容器,当然也可以直接安装nginx。

Nginx配置文件nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
}


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

# 默认服务器块,处理 HTTP 请求并重定向到 HTTPS
server {
listen 80;
server_name abc.com www.abc.com; # 你自己的域名

root /usr/share/nginx/html; # 修改为容器内的路径
# 指定默认的 index 文件
index index.html;

}

# HTTPS 服务器块
server {
listen 443 ssl;
server_name abc.com www.abc.com;

# SSL 证书路径 我这里是阿里云的证书
ssl_certificate /etc/nginx/ssl/cert.pen;
ssl_certificate_key /etc/nginx/ssl/cert.key;

# SSL 配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

# 日志
access_log /var/log/nginx/ssl-access.log main;
error_log /var/log/nginx/ssl-error.log;

location / {
proxy_pass http://[服务器ip]:[port]; # 将流量转发到 WebDAV 服务端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

}

include /etc/nginx/conf.d/*.conf;
}

创建Nginx

先用 docker pull nginx拉取镜像,再用以下命令创建容器。

当然,前提是准备好了以下:

  • nginx.conf:nginx配置文件放在目录 nginx-html 中
  • html-80:目录下随便放一个index.html文件
  • cert.pen、cert.key:证书的SSL文件放在目录 ssl 中
1
2
3
4
5
6
7
8
9
docker run -d \
-p 80:80 \
-p 443:443 \
--name nginx \
-v /root/nginx-html/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /root/nginx-html/html-80:/usr/share/nginx/html:ro \
-v /root/ssl/cert.pen:/etc/nginx/ssl/cert.pen:ro \
-v /root/ssl/cert.key:/etc/nginx/ssl/cert.key:ro \
nginx

于是,原来的WebDAV URL: http://[服务器ip]:[port]

现在就可以直接用:https://[服务器ip] 了。因为https默认的443端口,现在直接转换到WebDAV URL了。

  • 本文标题:Joplin给WebDAV配置SSL
  • 本文作者:HDUZN
  • 创建时间:2025-01-26 11:32:17
  • 本文链接:http://hduzn.cn/2025/01/26/Joplin给WebDAV配置SSL/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论