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

Amazon AWS EC2实例无法连接Jupyter Notebook求助

排查EC2上Jupyter Notebook无法访问的问题

问题背景

在Amazon Linux 2 AMI的EC2实例上完成Anaconda安装和Jupyter Notebook配置后,无法通过https://ip-xxx-xx-x-xx.us-east-2.compute.internal:8888/访问服务,已开放SSH和HTTPS的安全组入站规则。

排查线索与解决方案

1. 替换访问地址为EC2公网IP/域名

ip-xxx-xx-x-xx.us-east-2.compute.internal是EC2的内网DNS地址,仅能在AWS VPC内部访问,外部网络无法解析。操作步骤:

  • 登录AWS控制台,找到该EC2实例的公网IP或已绑定的弹性IP
  • 使用https://<公网IP>:8888/访问Jupyter Notebook

2. 检查安全组端口是否正确开放

你的安全组规则仅开放了HTTPS(443端口),但Jupyter Notebook监听的是8888端口,需在安全组入站规则中添加:

  • 类型:自定义TCP
  • 端口范围:8888
  • 源:0.0.0.0/0(或你需要限制的特定IP段)

3. 验证EC2实例防火墙规则

Amazon Linux 2默认启用firewalld,需确认8888端口允许通行:

# 查看当前防火墙规则
sudo firewall-cmd --list-all
# 永久开放8888端口
sudo firewall-cmd --add-port=8888/tcp --permanent
# 重启防火墙生效
sudo firewall-cmd --reload

4. 修复证书文件权限

生成的mycert.pem使用sudo创建,可能导致Jupyter进程无读取权限:

# 修改证书文件所属用户和权限
sudo chown ec2-user:ec2-user /home/ec2-user/certs/mycert.pem
sudo chmod 600 /home/ec2-user/certs/mycert.pem

修改后重启Jupyter服务:

# 先停止现有进程(替换<pid>为实际进程ID,可通过ps aux | grep jupyter获取)
kill <pid>
# 重新启动服务
nohup jupyter notebook &

5. 确认Jupyter服务监听状态

验证Jupyter是否在0.0.0.0:8888上监听:

netstat -tulpn | grep 8888

若输出显示0.0.0.0:8888则配置正常;若仅显示内网IP,需检查jupyter_notebook_config.py中c.NotebookApp.ip = '*'是否正确保存。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:54:22