node.js - 与 API 的 HTTPS 连接不起作用 Express/Node/Nginx
问题描述
我有一个 AWS 实例正在运行并使用 certbot 创建了一个证书:我可以使用浏览器访问https://www.tichutimo.ch/,它会显示默认页面。配置了一条路由http://www.tichutimo.ch:5000/api/users/test只响应一些文本。使用 http 这可以正常工作。但是当我尝试https://www.tichutimo.ch:5000/api/users/test时,我进入"SSL_ERROR_RX_RECORD_TOO_LONG"
了 Firefox。
现在我什至不确定在哪里寻找解决方案:快递?在 Nginx 中?我在我的快递日志中没有看到任何内容..
卷曲我得到curl: (35) error:1400410B:SSL routines:CONNECT_CR_SRVR_HELLO:wrong version number
解决方案
我猜你想使用 nginx 设置为反向代理。在该设置中,它应该接受传入的 https 连接(在默认端口 443 上)并在您的情况下通过http://localhost:5000将它们传递给您的 nodejs 服务器。这是一个很好的高性能设置:nginx 处理 https 的繁重工作,您的 nodejs 程序可以专用于您的应用程序。
因此,您的 https 网址不正确。取出端口 5000 引用。像这样。 https://www.tichutimo.ch/api/users/test
但是,当我在您的网站上尝试时,我得到了 nginx 的 404 页面。您的前门页面显示 nginx 的默认页面。因此,您的 /etc/nginx.conf 似乎没有正确设置来执行反向代理工作。
'toobz 有很多很好的教程,解释它超出了 Stack Overflow 答案的范围。如果你卡住了,请再问一个问题。
推荐阅读
- html - 如何使用字体制作(“ *”)并通过react js使用输入框?
- reactjs - ESLint 和 TSLint 的区别
- python - 如何使用 Selenium 和 Python 获取跨度内的标签内的文本?
- json - 如何在 DjangoCassandraModel Map 字段中设置 key_type 和 value_type?
- python - 在 Jupyter 笔记本上使用 pyspark.sql.function 时出错
- servicestack - AutoPopulate 属性不适用于 AutoQuery DTO
- powershell - 使用 powershell 脚本使用多个附件发送电子邮件
- java - Spring Boot Rest JPA 数据未在数据库中发布
- authentication - 使用微服务实现公共 API 密钥
- javascript - 当元素通过 JS 可见时,Alpine.js x-show 停止工作