Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。它能够通过配置来处理同域名下不同端口的情况。这种配置通常用于在同一台服务器上托管多个应用,每个应用监听不同的端口。
假设我们有两个应用,分别运行在不同的端口上:
我们可以通过以下 Nginx 配置来实现反向代理:
server {
listen 80;
server_name example.com;
location /appA {
proxy_pass http://localhost: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;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /appB {
proxy_pass http://localhost:4000;
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;
}
}
http://example.com/appA
时,页面无法加载原因:
解决方法:
原因:
解决方法:
nginx -t
命令检查配置文件的语法。netstat -tuln
命令检查端口占用情况。通过以上配置和解决方法,您可以成功实现 Nginx 同域名不同端口的配置,并解决常见的配置问题。
领取专属 10元无门槛券
手把手带您无忧上云