[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-warning-node-app-deployed-but-direct-hostname-uses-a":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":6,"lead":18,"facts":21,"why":36,"log":41,"fix":66,"engine":80,"related":87,"pitch":90},"node","node-app-deployed-but-direct-hostname-uses-a","Node app deployed, but direct hostname uses a self-signed certificate","Node.js",{"description":9},"Learn what causes Node app deployed, but direct hostname uses a self-signed certificate, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fnode",{"label":6},"",[19],{"text":20},"Warning recorded 1 times in PanelAlpha Engine deploys on Node.js. The deploy log below is the recorded failure output.",[22,27,30,32],{"label":23,"value":24,"tone":25,"tooltip":26},"Type","Warning","warn","An issue PanelAlpha Engine catches around a deploy that does not break it. It tells you, before or after, that you may need to do something.",{"label":28,"value":29},"Seen","1 times",{"label":31,"value":7},"Where",{"label":33,"value":34,"tooltip":35},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":37,"body":38},"Why it happens",[39],{"text":40},"The application built and started successfully, and the health check reached it. The configured direct hostname could not be provisioned through PanelAlpha Online because the service has reached its site limit. Engine therefore served the hostname with a PanelAlpha self-signed certificate, which browsers will reject. The app also listened on port 8081 instead of the hinted port 3000; Engine forwarded traffic and confirmed a 404 response.",{"heading":42,"block":43},"What the log looks like",{"header":44,"lines":45},"Deploy log",[46,50,54,58,62],{"segments":47},[48],{"text":49},"Application is listening on port 8081, not 3000; forwarding there instead",{"segments":51},[52],{"text":53},"Health check: http:\u002F\u002F[ip]:3000\u002F answered HTTP 404",{"segments":55},[56],{"text":57},"Reachable: https:\u002F\u002F\u003Caccount>.\u003Chost>\u002F answered 404 through the webserver",{"segments":59},[60],{"text":61},"Deploy finished with warnings: certificate browsers will refuse (self_signed, issued by PanelAlpha)",{"segments":63},[64],{"text":65},"PanelAlpha Online create failed: Sites limit reached for this service",{"heading":67,"steps":68,"block":77},"How to fix it",[69],[70,72,75],{"text":71},"Increase the PanelAlpha Online site limit or remove an unused site, then retry certificate provisioning. Ensure the hostname resolves to this server before requesting a certificate with ",{"text":73,"code":74},"ssl:project-cert:request",true,{"text":76},". Also verify that the application is intended to serve on port 8081 and that its expected routes do not return 404.",{"header":78,"lines":79},"Fix by hand",[],{"heading":81,"body":82,"block":85},"How PanelAlpha Engine solves it",[83],{"text":84},"The deployment is operational but should not report a generic partial install without clearly separating certificate provisioning and application-route warnings. Detect the site-limit response, expose the port mismatch, and offer certificate provisioning again after capacity or DNS is corrected.",{"header":17,"lines":86},[],{"heading":88,"items":89},"Apps affected",[],{"heading":91,"body":92,"footNote":93,"docsLabel":94,"docsHref":95},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]