跳到主要内容

获取更多AI技术与应用的第一手资讯,包括大语言模型、AI框架、算法等热门内容。 我们会定期推送高质量的AI知识、工具使用指南和行业动态。

微信公众号二维码

Nginx反代理网站操作手册

一、部署应用

  1. 例如:部署的服务为127.0.0.1:3000,服务内容为天气预报相关的;

二、配置Nginx;

第 1 步:添加一个临时的 HTTP 代理配置(无 HTTPS)

sudo nano /etc/nginx/conf.d/tq.aihelps.cn.conf

内容如下(仅监听 80):

server {
listen 80;
server_name tq.aihelps.cn;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

第 2 步:测试并重启 Nginx

sudo nginx -t
sudo systemctl reload nginx

此时可以用浏览器访问:

http://tq.aihelps.cn

如果能成功访问,说明你的 DNS 解析和反向代理是正常的。

第 3 步:使用 Certbot 自动申请 HTTPS 证书

Certbot 会自动修改你的配置,添加 HTTPS 支持:

sudo certbot --nginx -d tq.aihelps.cn

期间可能提示你:

  1. 是否将 HTTP 重定向到 HTTPS ➜ 选 2(Yes)

  2. 是否覆盖现有配置 ➜ 可选 No 或 Yes,如果你愿意 Certbot 自动写配置文件

三、最终配置文件参考(Certbot 会自动写)

如果你愿意手动维护,最后配置可以长这样:

server {
listen 80;
server_name tq.aihelps.cn;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name tq.aihelps.cn;

ssl_certificate /etc/letsencrypt/live/tq.aihelps.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tq.aihelps.cn/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}