我有一台服务器,并在端口3000和4000上运行了2个基于Express的项目。登录页面具有默认模板nginx html代码,并带有Botkit iframe嵌入代码。 Port 3000 Express服务器是Botkit入门指南项目,无需修改即可运行。 Port 4000 Express服务器只是Hello World项目。两个服务器都使用pm2
执行。
下面是我的/etc/nginx/sites-enabled/default
配置:
server {
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
return 301 http://hwsrv-492795.hostwindsdns.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name hwsrv-492795.hostwindsdns.com;
location / {
try_files $uri $uri/ =404;
}
location /test01/ {
proxy_pass http://142.11.241.150:3000/;
}
location /test02/ {
proxy_pass http://142.11.241.150:4000/;
}
}
这是我无法解决的问题:
/index.html
,但未能加载(404)加载/css/styles.css
,/embed.js
和/chat.html
我可以从服务器终端curl
来访问那些文件,这意味着访问那些文件没有问题。问题是,如何启用或允许使用Express服务器生成的网站的链接文件和文件夹在浏览器上可读?
答案 0 :(得分:0)
如果您可以帮助这个人,因为我在同一个地方,那么这个人就会遇到这个确切的问题。我的只是Botkit-cms。
在我的情况下,我同时将botkit和Loopback3用于json api(因为其敏感信息.kinda,而我不是开发人员),但是botkit-cms可以在vultr或DigitalOcean或随便。
我试图使它像上面的人一样在一台服务器下工作,这是一个旅程,显然我并不孤单。请帮助我们理解。问题似乎在于如何将代理传递给现有的快速Web服务器?还有一个额外的问题是如何通过SSL 443路由流量。我已经尝试了Nginx和“简易”的Caddy Web服务器,因为它强制执行443并使用letencrypt进行了一些令人敬畏的自动化。球童确实确实更容易,但是我想我们缺少了强调原则。