node.js - 当我最终将我的网站发布到主机服务器时,我是否会更改 app.listen('port number') ?
问题描述
这是我第一次发布网站,如果我的问题听起来很愚蠢或简单,请原谅。所以我终于完成了我网站的前端和后端,我将把它发布到来自 namecheap.com 的主机名。我正在使用 express 和一个抽象的例子来说明我的后端看起来是这样的:
const express = require("express");
const app = express();
const path = require('path');
app.use(express.static("./public"));
app.listen(5000, () => {
"server is listening!!"
})
我意识到使用 app.listen(5000, () => {}) 是由于侦听本地主机中的端口。那么如何更改它以最终发布它并让我的主机服务器识别它。
解决方案
使用nginx
或apache
上游、apache 和 nginx 作为 ssl 终止,更安全,如果添加缓存,您可以每秒处理更多请求 nginx 配置:
server {
#listen 80 ;
#listen [::]:80 ;
listen 443 ssl ;
server_name namecheap.com;
ssl_certificate /etc/nginx/ssl/domain-crt.txt;
ssl_certificate_key /etc/nginx/ssl/domain-key.txt;
ssl_session_cache shared:SSL:1m; # holds approx 4000 sessions
ssl_session_timeout 1h; # 1 hour during which sessions can be re-used.
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_buffer_size 4k;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:5000;
proxy_buffering on;
}
}
推荐阅读
- security - JPA - 带有@PostFilter 的 findById:过滤器目标必须是集合或数组类型,但是是可选的
- arrays - JSON Array - 如何在数组中显示数组
- python-3.x - Tensorflow:了解 tf.contrib.seq2seq.BasicDecoder
- javascript - getJSON 二级拼图
- node.js - 节点 dbus 网络管理器 IPV6 地址属性绑定
- fiware - 我可以创建一个仅通知那些已更改的上下文属性的订阅吗?
- ios - Swift - libc++abi.dylib:以 NSException (lldb) 类型的未捕获异常终止
- c# - .Net core Hosted Services 保证完成
- c# - 如何使用 EP Plus 将选项/值作为下拉列表添加到我的 Excel 表格的标题中?
- python - 正则表达式检查字符串是否在python中至少有一个到三个单词和一个以上的标签