给小网站加 HTTPS:Nginx 反向代理从 0 到跑起来

举报
yd_215738027 发表于 2026/11/15 12:14:53 2026/11/15
【摘要】 很多小网站一开始都是直接用 IP 加端口访问的,浏览器会标“不安全”,微信里也打不开。最省事的办法就是前面架一层 Nginx 反向代理,再配个免费证书,全程十分钟左右。先准备好两样东西:一台能联网的云服务器,一个已经解析到这台服务器的域名。域名解析生效后,先确认 80 和 443 端口是放行的,云服务器的安全组里要放开这两个端口,不然证书校验会失败。第一步装 Nginx。Ubuntu 上一条...

很多小网站一开始都是直接用 IP 加端口访问的,浏览器会标“不安全”,微信里也打不开。最省事的办法就是前面架一层 Nginx 反向代理,再配个免费证书,全程十分钟左右。先准备好两样东西:一台能联网的云服务器,一个已经解析到这台服务器的域名。域名解析生效后,先确认 80 和 443 端口是放行的,云服务器的安全组里要放开这两个端口,不然证书校验会失败。第一步装 Nginx。Ubuntu 上一条命令就行:sudo apt update && sudo apt install nginx。装完用 systemctl status nginx 看一眼,active 就是跑起来了。第二步写反向代理配置。在 /etc/nginx/sites-available/ 里新建一个文件,比如 my-site,内容大概是这样:server 块监听 80,server_name 写你的域名,location / 里写 proxy_pass http://127.0.0.1:3000,3000 换成你自己服务实际跑的端口。再加两行常用的转发头:proxy_set_header Host $host 和 X-Real-IP $remote_addr,这样后端才能拿到真实的访问地址。写好后做个软链到 sites-enabled,再 nginx -t 检查语法,没问题就 systemctl reload nginx。第三步上 HTTPS。装 certbot 和 nginx 插件:sudo apt install certbot python3-certbot-nginx,然后跑 sudo certbot --nginx -d 你的域名。按提示填个邮箱,一路回车,certbot 会自动申请 Let's Encrypt 证书、改好 Nginx 配置、再顺手配好 80 跳 443。完成后用浏览器打开 https://你的域名 看看,小锁出来了就成了。最后别忘了续期。Let's Encrypt 证书只有 90 天,certbot 装的时候一般已经装好了定时任务,可以跑 sudo certbot renew --dry-run 演练一次,确认续期链路是通的。以后就不用管了,到期前会自动续。几个容易踩的坑:一是域名解析没生效就去申请证书,校验一定失败,先 ping 一下域名确认解析到了服务器 IP;二是反代地址写成了容器的内部地址但 Nginx 在宿主机上,127.0.0.1 指的是 Nginx 自己,跨容器要写容器名或网关地址;三是改完配置忘了 reload,页面还是旧的。就这么几步,小网站也能有正规的 HTTPS 访问了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。