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

AWS EC2 Nano实例配置NGINX生成SSL证书遇重复默认服务器错误求助

解决NGINX重复默认服务器错误并生成SSL证书

第一步:处理重复的default server配置

错误提示明确指出/etc/nginx/sites-enabled/default:22存在重复的0.0.0.0:80默认服务器配置,原因是NGINX同时加载了你的自定义配置和默认的default配置文件,两者都声明了default_server标识。

两种处理方案二选一:

  • 方案1:禁用默认配置文件
    执行命令删除默认配置的软链接,让NGINX仅加载你的自定义配置:

    sudo unlink /etc/nginx/sites-enabled/default
    
  • 方案2:修改默认配置文件
    编辑默认配置文件,移除其中的default_server标识:

    sudo nano /etc/nginx/sites-enabled/default
    

    找到第22行附近的以下内容:

    listen 80 default_server;
    listen [::]:80 default_server;
    

    修改为:

    listen 80;
    listen [::]:80;
    

    保存退出(nano编辑器按Ctrl+O确认保存,回车后按Ctrl+X退出)。

第二步:验证并重启NGINX

执行配置测试命令,确认配置无错误:

sudo nginx -t

如果输出nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置正常,接着重启NGINX:

sudo systemctl restart nginx

第三步:生成SSL证书(测试模式)

现在可以正常执行certbot的dry-run测试:

方式1:让certbot自动配置NGINX

certbot certonly --dry-run --nginx -d my_server_name.com

方式2:使用webroot验证模式

先确保webroot目录权限正确:

sudo mkdir -p /var/www/html && sudo chown www-data:www-data /var/www/html

然后执行证书生成命令:

certbot certonly --dry-run --webroot -w /var/www/html -d my_server_name.com

额外注意事项

  • 确保AWS EC2实例的安全组已开放**80(HTTP)和443(HTTPS)**端口,否则certbot无法完成域名验证。
  • 如果dry-run测试成功,去掉--dry-run参数即可生成正式证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:01:01