部署编辑配置文件

编辑配置文件

在运行服务时,你可以通过配置文件来自定义服务的一些参数,Zeabur 提供了配置文件编辑器,让你可以通过编辑器来指定配置文件的存储位置和内容。在服务启动时,会自动挂载配置文件。

这里我们使用 NGINX 反向代理内网的 Vaultwarden 服务,来演示配置文件编辑器编辑 ngnix 自定义配置文件的过程。

步骤一:创建项目

Zeabur Dash 创建 Project。

步骤二:创建服务

在上述 Project 中分别创建 NGINX 和 Vaultwarden 的 Prebuilt Service。

创建 NGINX 服务

创建 Vaultwarden 服务

步骤三:编辑 Nginx 服务配置文件

  1. 在 Services 区域中,点击 nginx 服务的 Settings 栏目的下拉按钮,找到 Configs 部分点击 Open Config Editor 按钮,进入配置文件编辑器。

打开配置文件编辑器

  1. 在打开的编辑器中,点击 Add Config file 按钮新增一个配置文件。在弹出的表单的 Config Path 输入框输入配置文件的路径和名称,这里我们输入 /etc/nginx/nginx.conf,接着点击 Save Config 按钮。

添加配置文件

💡

上方的 Config Path 需要输入配置文件的绝对路径,请根据实际情况配置。

  1. 根据需求编辑配置文件的内容,这里我们添加了一个 server 代码块,用于反向代理 Vaultwarden 服务。
worker_processes  4;
error_log  stderr;
worker_rlimit_nofile 8192;
 
events {}
 
http {
  default_type application/octet-stream;
  log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
  access_log   /dev/stdout  main;
  sendfile     on;
  tcp_nopush   on;
  server_names_hash_bucket_size 128; # this seems to be required for some vhosts
 
  map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      "";
  }
 
  server {
    listen 80 default_server;
    server_name _;
 
    location / {
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;
 
      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;
 
      proxy_pass http://vaultwarden.zeabur.internal:80;
    }
  }
}

为了让其他人可以通过 NGINX 服务访问我们的内部 Vaultwarden 服务,我们在 NGINX 中使用 proxy_pass http://vaultwarden.zeabur.internal:80; 指令,表示让 NGINX 将连接到此处的所有请求都代理到 Vaultwarden。我们利用 私有网络 功能,在我们的私有网路中通过固定主机名称访问 Vaultwarden。

  1. 点击 Save 按钮保存配置文件。

保存配置文件

步骤四:重启服务

在上述步骤中,我们已经完成了配置文件的编辑,接下来我们需要重启服务,找到 Instructions 区域,找到 Restart 按钮以重启服务,以使配置文件生效。

重启服务

将域名绑定到 NGINX 服务后,即可通过域名访问 Vaultwarden 服务。

访问 Vaultwarden