동경 2025-10-15 23:51 采纳率: 0%
浏览 7

next.js 宝塔部署

宝塔部署next.js,都配置了域名,为什么还得域名+端口可以访问页面
nginx配置
    location / {
        proxy_pass http://127.0.0.1:2025;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        proxy_set_header X-Host $host:$server_port;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 30s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 30s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

如何不使用端口的方式访问,而是直接使用域名方式访问

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-10-15 23:51
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你遇到的问题可能是由于 Nginx 配置的问题。让我们分析一下你的配置:

    location / {
        proxy_pass http://127.0.0.1:202
    }
    

    这里的 proxy_pass 指定了将请求转发到 http://127.0.0.1:202 这个地址。然而,Next.js 的默认端口是 3000,而不是 202

    因此,可能的解决方案是修改 Nginx 配置,将 proxy_pass 指向 Next.js 的默认端口 3000

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

    另外,需要注意的是,宝塔部署的环境可能会有所不同,具体的配置可能需要根据宝塔的文档进行调整。

    建议

    1. 确保 Next.js 正常启动并监听 3000 端口。
    2. 检查 Nginx 配置文件是否正确配置了 proxy_pass
    3. 如果仍然无法解决问题,请尝试使用 curlwget 等工具测试 Nginx 是否正确转发请求。

    希望这些建议能够帮助你解决问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 10月15日