Memos 配置 SSL 证书

缘起

想要尝试一下 Memos 的移动客户端: moe memos​. 但是发现自己部署后,没有办法连接到服务器, 苹果应用似乎强制要求你访问的服务器具备 ssl​ 证书.

前置准备

  • 购买一台云服务器并通过 docker 安装 memos
  • 域名
  • 申请 SSL 证书

SSL 证书的申请步骤各个云服务器厂商都有教程,在此不做赘述,直接申请免费的即可. 申请完毕后,下载对应的证书文件. 这里可以使用 scp1​ 命令来将下载到本地的 ssl 证书上传到云服务器.

nginx

首先需要编写一下 nginx 配置文件. events​ 和 http​ 这两个是必须要编写的.不然会运行失败.

我的 memos​ 运行在 5230​ 端口,所以这里监听 5231​ 端口,并将请求转发到 5230​ 端口.

需要注意 proxy_pass​ 这里的 ip 地址应该使用的是你云服务器的私有 ip 地址. 直接使用 localhost 可能导致 nginx 运行成功,但是无法成功转发请求.

events{
        worker_connections 1024;
}

http{
        server {
        listen 5231 ssl; 
        # 监听 5231 端口并启用 SSL
        # server_name crowds.top; 
        # 替换为您的域名

        # SSL 证书路径,路径会在后续运行命令中的参数挂载
        ssl_certificate /etc/nginx/ssl/nginx_ssl/crt.crt;
        # SSL 私钥路径
        ssl_certificate_key /etc/nginx/ssl/nginx_ssl/key.key;

        location / {
                proxy_pass http://xxx.xxx.xxx.xxx:5230; 
                # 代理到主机的私有 ip  5230 端口
                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;
                }
        }
}

下面的脚本是 ngnix 的运行命令. 这里注意, 我们在启动时,将配置文件和 ssl 文件地址挂载到了 /etc/nginx/​ 目录下. 所以在配置文件中,对应的目录也应该是 /etc/nginx/​ 目录下的地址.

#!/bin/bash
docker run --name memNginx \
        -p 5231:5231 \
        -v /root/nginxConfig/nginx.conf:/etc/nginx/nginx.conf \
        -v /root/mySsl/:/etc/nginx/ssl \
        -d nginx

执行后可以使用 docker ps -a​ 命令查看对应的容器是否运行成功,如下结果,则表示运行失败. 需要使用 docker logs <CONTAINER ID>​ 来查看是哪里出了问题.

CONTAINER ID   STATUS               
0b36fbd3438a   Exited (1) 12 hours ago 

APP 成功登录并访问:

IMG_1741

本地 SSL 证书

配置过程中,了解到还有一种做法,如果只是在家使用,似乎可以配置本地 SSL 文件. 具体过程我不太了解. 但是似乎更简单.


  1. scp

    Linux 中的 scp​ 用于文件 ==远程传输==

    • Linux 中的 scp​ 命令的格式为

      • scp /path/to/file.txt remoteuser@ip.xx.xx.xx:/path/to/folder/
        

相关帖子

欢迎来到这里!

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

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