this is my first time deploying nodejs
from localhost
to the live server. I am using aapanel
for my live server.
Here is the relevant code in node server.js
file:
const hostname = 'localhost';
// const hostname = 'www.thespacebar.io';
// set port, listen for requests
const PORT = process.env.PORT || 8080;
app.listen(PORT, hostname, () => {
console.log(`Server is running on port ${PORT}.`);
});
Here is my pm2
settings:
I am unable to open my nodejs
app with GET https://www.thespacebar.io:8080
, but it works for GET http://www.thespacebar.io:8080
GET https://www.thespacebar.io:8080
does not work with error:
This site can’t provide a secure connection
ERR_SSL_PROTOCOL_ERROR
Anyone know what I did wrong?
EDIT: I have installed Caddy
and setup the Caddyfile
in /etc/caddy
like this:
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.
import ./thespacebar.io
:80 {
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
}
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
and created the adjacent file thespacebar.io
:
thespacebar.io {
reverse_proxy localhost:8080
}
but when I visit https://thespacebar.io/
, I end up at index.html
instead of the JSON { message: "Welcome to bezkoder application." }
and POSThttp://www.thespacebar.io/api/verification/callback
with body param
verify_token:abcde
is supposed to show the JSON:
{
"message": "Callback called successfully."
}
instead of 404 Not Found
EDIT 2: I have removed the portion:
# :80 {
# Set this path to your site's directory.
# root * /usr/share/caddy
# Enable the static file server.
# file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
# }
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
from etc/caddy/Caddyfile
but when I run caddy run Caddyfile
and caddy reload Caddyfile
, I am getting this error:
[root@vultrguest caddy]# caddy run Caddyfile
2022/12/02 08:11:44.132 INFO using adjacent Caddyfile
2022/12/02 08:11:44.132 WARN Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies {"adapter": "caddyfile", "file": "Caddyfile", "line": 12}
2022/12/02 08:11:44.133 INFO admin admin endpoint started {"address": "localhost:2019", "enforce_origin": false, "origins": ["//localhost:2019", "//[::1]:2019", "//127.0.0.1:2019"]}
2022/12/02 08:11:44.133 INFO http server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS {"server_name": "srv0", "https_port": 443}
2022/12/02 08:11:44.133 INFO http enabling automatic HTTP->HTTPS redirects {"server_name": "srv0"}
2022/12/02 08:11:44.133 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc000151030"}
2022/12/02 08:11:44.133 INFO tls.cache.maintenance stopped background certificate maintenance {"cache": "0xc000151030"}
Error: loading initial config: loading new config: http app module: start: listening on :80: listen tcp :80: bind: address already in use
[root@vultrguest caddy]# caddy reload Caddyfile
2022/12/02 08:11:49.875 INFO using adjacent Caddyfile
2022/12/02 08:11:49.876 WARN Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies {"adapter": "caddyfile", "file": "Caddyfile", "line": 12}
Error: sending configuration to instance: performing request: Post "http://localhost:2019/load": dial tcp [::1]:2019: connect: connection refused
[root@vultrguest caddy]#
If I run GEThttp://www.thespacebar.io:8080
I get:
Web server is down Error code 521
Visit cloudflare.com for more information.
2022-12-02 08:22:13 UTC
You
2条答案
按热度按时间ig9co6j11#
Caddy很容易设置为反向代理,它可以轻松地为您加密SSL证书
我看到你发布了一个更新-我想删除的一件事是
如果你读了你发布的文本,它确实说用你的域替换:80(但不要添加:80或球童不会为该域做证书)
我还看到您没有设置一个带有电子邮件地址的全局部分--我相当肯定,为了让letsencrypt工作,需要有这个部分(不要引用我的话)--至少在我第一次开始使用Caddy时是这样的
6rqinv9w2#
下面是caddyv2通用caddyfile的一些伪代码
对于下面的代码,将
"\*"
替换为"*"
"\"
在下面用于转义markdown中的"/*"
此代码将向响应添加基本的安全报头和cors
它将代理传递到本地主机端口9883上的进程
如果你有一个dns记录为你的服务器它将设置这letsencrypt证书为你和更新他们当需要
请参阅助手片段https://caddyserver.com/docs/caddyfile/concepts#snippets