【问题标题】:Run a nodejs application on a bitnami lamp stack instance在 bitnami 灯堆栈实例上运行 nodejs 应用程序
【发布时间】:2021-03-31 02:14:36
【问题描述】:

我目前有一个运行在www.uktransportprofiles.co.uk 托管我的网站的bitnami LAMP 堆栈,并且我有一个在www.uktransportprofiles.co.uk:7200 运行的nodejs 实例。但是我想代理传递这个,以便可以在www.uktransportpfoiles.co.uk/api 找到 api,并且也有 ssl 证书。

我已经尝试添加

SSLProxyEngine on

ProxyPass /api http://localhost:7200
ProxyPassReverse /api http://localhost:7200

/opt/bitnami/apache2/conf/bitnami/bitnami.conf 
&
/opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf

但这没有奏效。任何想法和建议将不胜感激

【问题讨论】:

    标签: lamp bitnami amazon-lightsail nodejs-server


    【解决方案1】:

    Bitnami 开发者在这里!

    在一天结束时,您有一个 Apache 服务器在两个端口(80 和 443)上侦听传入连接,并且您希望根据 URI 将其中的一些转发到另一个后端服务器。

    正如您所指出的,这可以通过ProxyPass 和 Apache 内置的代理功能来实现。您可以查看原始文档以供进一步参考。

    https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

    Bitnami 的 LAMP 将每个 Apache VirtualHost(80 和 443)配置分隔在两个文件中,bitnami.confbitnami-ssl.conf。如果您只希望您的用户通过 SSL 访问 API,您只需修改 bitnami-ssl.conf。此外,我想你想坚持使用你的主域使用的同一个 SSL 证书,所以你应该跳过 SSLProxyEngine 指令。

    作为您提议的更改的替代方案,您可以将以下内容附加到 bitnami-ssl.conf VirtualHost 以根据子 URI 代理传递一些请求。

    <VirtualHost _default_:443>
    ...
      <Location "/example">
        ProxyPass "http://example.com/"
        ProxyPassReverse "http://example.com/"
      </Location>
    ..
    </VirtualHost>
    

    执行更改后,您需要确保重新启动 Apache:

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

    使用proxypass和直接查询upstream时可以检查输出是否一致:

    $ curl -k --silent https://34.XXX.XXX.XXX/example -o out.html && curl --silent https://example.com -o out2.html && diff <(md5sum out.html | awk '{ print $1 }') <(md5sum out2.html | awk '{ print $1 }')
    
    

    问候,

    何塞·安东尼奥·卡莫纳

    【讨论】:

    • 谢谢!设法让它工作 - 刚刚在更新 htdocs 时遇到问题
    猜你喜欢
    • 1970-01-01
    • 2016-08-05
    • 2021-03-31
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2020-11-22
    • 2022-01-17
    相关资源
    最近更新 更多