You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lightsail Ubuntu环境下Docker+NGINX部署无法访问容器内Strapi求助

问题核心原因梳理

  1. Nginx服务未加入apps自定义网络,无法解析strapi服务名,启动配置校验失败导致反复重启
  2. Nginx配置监听端口和docker-compose端口映射不匹配
  3. 反向代理配置未指定Strapi服务端口,默认访问80端口无法命中Strapi服务
  4. AWS Lightsail默认未开放对应端口的公网入站规则

修复步骤

1. 修改docker-compose.yml配置

调整Nginx服务配置,加入同服务网络,可选择关闭Strapi的公网端口暴露,仅允许Nginx内部访问:

version: '3.8'

services:
  nginx:
    image: nginx:stable
    container_name: nginx
    volumes:
      - ./nginx/strapi.conf:/etc/nginx/conf.d/default.conf
    ports:
      - 80:80
    restart: on-failure
    depends_on:
      - strapi
    # 加入apps网络才能解析strapi服务名
    networks:
      - apps

  db:
    image: mariadb:10.6.4
    container_name: db
    restart: always
    env_file:
      - envs/db.env
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - apps

  strapi:
    image: strapi/strapi:3.6.8
    container_name: strapi
    env_file:
      - envs/strapi.env
    restart: always
    depends_on:
      - db
    # 可注释掉端口暴露,仅内部网络访问更安全
    # ports:
    #  - 1337:1337
    networks:
      - apps

volumes:
  db-data:

networks:
  apps:
    driver: bridge

2. 修改nginx/strapi.conf配置

调整监听端口,补全Strapi服务端口:

server {
    listen 80;
    server_name 1.20.20.20;

    location / {
        # 补全Strapi容器内服务端口1337
        proxy_pass http://strapi:1337;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $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_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass_request_headers on;
    }
}

3. 重启服务

执行以下命令重启所有容器:

# 停止现有服务,不要加-v参数避免丢失数据库数据
docker-compose down
# 后台启动服务
docker-compose up -d

Strapi首次启动需要初始化数据库,等待2-3分钟再访问。

4. 配置AWS Lightsail防火墙

进入Lightsail实例控制台的「网络」选项卡,添加入站规则:

  • 协议:TCP
  • 端口:80
  • 源地址:0.0.0.0/0

验证&问题排查

  • 正常访问地址:http://1.20.20.20
  • 查看Nginx运行日志:docker logs nginx
  • 查看Strapi运行日志:docker logs strapi
  • 实例内验证Strapi可用性:curl http://localhost:1337

内容的提问来源于stack exchange,提问作者RRGT19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:15:03