思源笔记 Docker 伺服并配置 Nginx 反代 https

思源笔记目前没有 IOS 客户端,以及在外面不好使用,之前的网页版也取消了,所以现在搭建一个 Docker 伺服,用于平时没有条件的时候使用。

  1. 安装 Docker

    1. 暂时掠过
  2. 安装思源笔记

    1. 拉取思源笔记的 docker 镜像
      $ docker pull b3log/siyuan
    2. 运行 docker 镜像(https)
      $ docker run -d -v /home/xxx/data/siyuan:/siyuanworkspace -p 6806:6806 b3log/siyuan --resident="true" -workspace /siyuanworkspace --servePath="xxx.com" --ssl=true --accessAuthCode="xxxxx"
      注意:
      • /home/xxx/data/siyuan 为你的本地存储思源路径
      • 如果需要使用 nginx 反代,并且设置 https 必须加上 --ssl=true 并且 --servePath 需要设置为你的域名,不用带协议。
  3. 配置 Nginx 反代

    server
    {
        listen 80;
        listen 443 ssl http2;
        server_name xxx.com;
        index index.php index.html index.htm default.php default.htm default.html;
        root /var/www/html;
    
    
        if ($server_port !~ 443){
            rewrite ^(/.*)$ https://$host$1 permanent;
        }
        #HTTP_TO_HTTPS_END
        ssl_certificate    /etc/ssl/fullchain.cer;
        ssl_certificate_key    /etc/ssl/senlief.xyz.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        error_page 497  https://$host$request_uri;
    
        #SSL-END
    
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_pass         http://127.0.0.1:6806;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'Upgrade';
            client_max_body_size 100m;
            }
    }
    
    

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • shadow97529

    参考上述配置以后,可以 https 登录使用。但是现在出现了连接内核中断的问题。

    我修改 docker 配置以后,是成功运行了一段时间的,然后忽然就中断了。然后就是输入密码后可以正常进入,然后在 5s 左右会中断连接内核,刷新后可操作 5s 左右,继续中断

    2 回复
  • zjan
    支持者 订阅者 作者

    中断的应该和配置没啥关系,内核中断多数还是因为 bug 导致的。

  • Yanareat
    订阅者

    image.png

    还有可能和上面的没配置有关,需要 WebSocket 协议