nginx 通过https部署Nextjs App和nodeJs服务器

gdrx4gfi  于 2023-11-17  发布在  Nginx
关注(0)|答案(1)|浏览(277)

我用nextjs做前端,nodejs express做后端构建了一个web应用程序,我有一个来自NameCheap的域名和一个来自Contabo的VPS,我在VPS中克隆了应用程序,并使用Cloudflare将域名与应用程序链接,但nodejs服务器运行在HTTP而不是HTTPS上,如何使其使用HTTPS。这是我第一次使用nextjs和nodejs部署web应用程序,所以我不知道该怎么办,我谷歌了一下,但我没有发现任何人谈论像我的情况和CloudFlare文档不太清楚的情况,所以请帮助
我已经构建了一个nextjs应用程序,它从nodeJs服务器获取数据,nextjs应用程序在端口3000上运行(http://localhost:3000),nodejs服务器运行在端口8080上(http://localhost:8080).我有一个域名从Namecheap和一个VPS从Contabo.我克隆了nextJs应用程序和nodeJs服务器在VPS和运行它们. nextjs应用程序监听端口3000和nodejs监听端口8000.我打开Chrome和导航到IP地址,例如:192.168.1.1:3000,不错我看到我的Nextjs应用程序,它正在使用nodejs端点从MySQL数据库中获取数据。我想将IP地址更改为域名,所以我从Namecheap访问domain.com并使用Cloudflare链接它.现在很好,我使用我的域名通过HTTPS到达应用程序,但nextJs应用程序上的图像没有加载,因为图像托管在使用HTTP的nodejs服务器中,nextJs应用程序使用HTTPS.现在我想让我的nodejs服务器通过https运行.我该怎么办

w41d8nur

w41d8nur1#

您需要SSL证书,您可以通过https://letsencrypt.org/https://certbot.eff.org获得。
当你有证书时,你可以在nodejs web服务器中加载,使用https协议将内容提供给端口443。
另一种方法是让代理为你处理连接和SSL。看看nginx,haproxy或traefik。

相关问题