code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动

code-server 宝塔部署 Let’s Encrypt SSL 个人用户启动

看了网上一圈,没有很好的解决了同时满足:

  1. 用Let’s Encrypt获得SSL证书
  2. 用宝塔面板
  3. code-server部署在子域名上
  4. 使用个人用户,而非 root 或 www 用户启动 code-server

这几个问题的

折腾了几个小时,解决了上面几个问题,发出来分享,希望能有所帮助

个人废话很多,不喜欢请关闭本页面


环境

阿里云 Ubuntu 20.04
code-server 4.0.1 通过apt安装
宝塔面板 免费版 7.9.4


snapd 和 certbot

最开始发现通过宝塔并不能方便的部署code-server的时候,我也是想着按照code-server官方文档的方法,自己做SSL认证,但后来发现因为是子域名,需要nginx反向代理,而我又已经在宝塔部署了Apache,而我又不会配置Apache

当我按照Let’s Encrypt的说明,通过apt安装snapd的时候,我遇到了第一个问题,我配置的apt源是阿里云的源,源里竟然没有snapd,于是我修改为清华源,安装上了snapd和certbot

我没有继续跟着做下去,我不知道为什么,也别问我

我并不确定如果我不安装,能不能直接在宝塔配置let’s encrypt,但是我后来能顺利用宝塔配置了


宝塔卸载Apache,安装Nginx

两者并不能同时共存,我选择舍弃Apache,使用Nginx,因为code-server的指南里,也是在用nginx做反向代理


配置code-server配置文件

假设我现在的linux服务器,使用的个人用户名为alice,我的域名为mydomain.com,我想把code-server部署到code.mydomain.com

我在alice的个人文件夹下配置了code-server的配置文件:

配置文件路径 /home/alice/.config/code-server/config.yaml

bind-addr: 127.0.0.1:8848
auth: password
password: <我设置的密码>
cert: false

通过where code-server命令得知,我的code-server的安装位置是/bin/code-server


宝塔配置code-server

在网站模块里添加一个“其他项目”↓

code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动_第1张图片

按照下图填写你的信息,
注意我在code-server配置文件配置的端口是8848,
我通过root用户来切换到alice用户来启动code-server,
我要部署的域名为code.mydomain.com

由于运行用户是root,所以可以借助su命令,使用root权限临时用alice身份来启动code-server
注意su后面的第一个参数只有一个-,跟用户名不是连着的

su - alice -c "/bin/code-server"

code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动_第2张图片

宝塔Let’s Encrypt认证

点击项目名称或者后面的设置进行设置↓

code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动_第3张图片

找到下图这里,勾选上你的子域名code.mydomain.com,申请↓

code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动_第4张图片

保存,可以考虑开启强制HTTPS↓

code-server 宝塔部署 Let‘s Encrypt SSL 个人用户启动_第5张图片

如果你已经配置过了域名的dns解析,你的防火墙没有阻止你访问code.alice.com,那么当你启动,你应该已经可以通过你的密码来访问code-sever了

而且在code-server里,你的终端是你的个人用户alice身份

你可能感兴趣的:(Linux,ssl,ubuntu,visual,studio,code,阿里云)