Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。通过配置 Nginx,可以实现单个域名下托管多个应用(网站)。
假设我们有一个域名 example.com
,我们希望在该域名下托管两个应用:app1
和 app2
。
server {
listen 80;
server_name example.com;
location /app1 {
proxy_pass http://localhost:3001;
proxy_set_header Host $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;
}
location /app2 {
proxy_pass http://localhost:3002;
proxy_set_header Host $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;
}
}
server {
listen 80;
server_name app1.example.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $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;
}
}
server {
listen 80;
server_name app2.example.com;
location / {
proxy_pass http://localhost:3002;
proxy_set_header Host $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;
}
}
原因:可能是 Nginx 配置错误,导致请求没有被正确转发到后端服务器。
解决方法:
location
部分是否正确。原因:可能是后端服务器无法响应请求,或者 Nginx 与后端服务器之间的连接出现问题。
解决方法:
通过以上配置和解决方法,你可以轻松实现 Nginx 单域名多应用的部署和管理。
领取专属 10元无门槛券
手把手带您无忧上云