包含ProxyPass和ProxyPassReverse的正确位置(AWS Lightsail上的Bitnami Node.js服务器)

包含ProxyPass和ProxyPassReverse的正确位置(AWS Lightsail上的Bitnami Node.js服务器),node.js,amazon-web-services,apache,lets-encrypt,bitnami,Node.js,Amazon Web Services,Apache,Lets Encrypt,Bitnami,我已经在AWS Lightsail上设置了Bitnami Node.js服务器。然后我运行了Bitnami HTTPS配置工具: sudo /opt/bitnami/bncert-tool 这创建了几个Apache配置文件,我正试图弄清楚如何以及在哪里为运行在3000端口上的应用程序设置代理。我已经确定了五个可能包含代理的不同文件: /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf /opt/bitnami/apache2/

我已经在AWS Lightsail上设置了Bitnami Node.js服务器。然后我运行了Bitnami HTTPS配置工具:

sudo /opt/bitnami/bncert-tool
这创建了几个Apache配置文件,我正试图弄清楚如何以及在哪里为运行在3000端口上的应用程序设置代理。我已经确定了五个可能包含代理的不同文件:

/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf 
/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf
/opt/bitnami/apache2/conf/bitnami/bitnami.conf  
/opt/bitnami/apps/letsencrypt/conf/httpd-app.conf
/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf
目前,我已经在
/opt/bitnami/apache2/conf/bitnami/bitnami apps prefix.conf
文件中包含了我的代理行。文件的全部内容如下所示:

# Bitnami applications installed in a prefix URL
Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/

这似乎有效,但我不知道我在做什么。配置正确吗?如有任何建议/指导,我们将不胜感激。

Bitnami工程师。要从头开始创建自定义Node.js应用程序,请执行以下步骤。这些步骤假定您的应用程序将位于/opt/bitnami/apps/myapp/*目录中:

  • 运行以下命令以创建目录:

      $ sudo mkdir -p /opt/bitnami/apps/myapp
      $ sudo mkdir /opt/bitnami/apps/myapp/conf
      $ sudo mkdir /opt/bitnami/apps/myapp/htdocs
    
  • 使用Express创建一个新的Node.js项目:

      $ cd /opt/bitnami/apps/myapp/htdocs
      $ sudo express --view pug
      $ sudo npm install
    
  • 启动Express服务器:

      $ cd /opt/bitnami/apps/myapp/htdocs
      $ DEBUG=sample:* ./bin/www
    
    或者,使用以下命令启动服务器并在服务器会话结束后保持其运行。将文件替换为应用程序的正确文件名

      $ forever start FILE.js
    
    注意:虽然您的应用程序现在可用,但您可能无法立即访问它。这是因为Express服务器默认在端口3000上运行,并且出于安全原因,某些平台上的Bitnami堆栈关闭了该端口。要访问该应用程序,您需要创建到该端口的SSH隧道

  • 创建并编辑/opt/bitnami/apps/myapp/conf/httpd-prefix.conf文件,并在其中添加以下行:

      Include "/opt/bitnami/apps/myapp/conf/httpd-app.conf"
    
  • 创建并编辑/opt/bitnami/apps/myapp/conf/httpd-app.conf文件,并将以下内容添加到其中。这是应用程序的主配置文件,因此请根据应用程序的要求对其进行进一步修改

      ProxyPass / http://127.0.0.1:3000/
      ProxyPassReverse / http://127.0.0.1:3000/
    
    注意:3000是Express服务器的默认端口。如果您已自定义应用程序以使用其他端口,请在此处进行更改

  • 创建上述文件和目录后,将以下行添加到主Apache配置文件的末尾/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf,如下所示:

      Include "/opt/bitnami/apps/myapp/conf/httpd-prefix.conf"
    
  • 重新启动Apache服务器:

      $ sudo /opt/bitnami/ctlscript.sh restart apache
    

您可以在这里找到更多信息:

非常感谢您的帮助!!!我可以建议在Bitnami的官方文档中,虽然有关于设置node.js应用程序或设置let's encrypt证书的优秀指南,但我找不到任何将这两个指南联系在一起的东西(这导致了所有proxypass混淆)。再次感谢您的指导和出色的产品!