Apache+Wordpress:如何将 http://localhost:3002 页面添加为 https://mydomain.com/anotherpage

Apache+Wordpress:如何将 http://localhost:3002 页面添加为 https://mydomain.com/anotherpage

我在 LAMP 服务器上有一个 WordPress 网页。它运行完美。我是网络和 www 的新手,我不想破坏我的页面,它作为电子商务并给我带来收入。我的网页仅使用 HSTS 的 https。证书是通过 certbot 进行的。

我在我的服务器上添加了另一个单独的本地服务,用 node-js 编写。它有自己的页面,可以从 LAN 访问 127.0.0.1:3002 或 192.168.1.x:3002,一切都很好,但无法从外部访问。

我想将此服务嵌入到我的网页中,如下所示https://mydomain.com/anotherpage。所以基本都是搬家http://127.0.0.1:3002进入我的 Apache 页面https://mydomain.com/anotherpage关联。它必须是 https,因为我的整个页面都是 https。

我怎样才能做到这一点?

我正在运行 Debian Buster。

如果您需要任何配置文件,请告诉我,我将提供它们。谢谢你的帮助。

答案1

添加一个反向代理致您的VirtualHost

ProxyPass        /anotherpage http://127.0.0.1:3002
ProxyPassReverse /anotherpage http://127.0.0.1:3002

您需要启用mod_proxy_http

sudo a2enmod proxy_http

并重新启动您的服务器。

答案2

有用!

问题:托管本地运行的 Web 服务http://127.0.0.1:3002/anotherpage阿帕奇内部https://mydomain.com/anotherpage

解决方案:

/etc/apache2/sites-available/000-default-le-ssl.conf文件:

<VirtualHost *:443>
(...)
        ProxyPass               /anotherpage http://127.0.0.1:3002/anotherpage
        ProxyPassReverse        /anotherpage http://127.0.0.1:3002/anotherpage
(...)
</VirtualHost>

ProxyPass 和 ProxyPassReverse to /anotherpage 必须放置在000-default-le-ssl.conf,不在000-默认.conf。另外,我必须将我的另一个页面服务(它的设置)从127.0.0.1:3002127.0.0.1:3002/另一页。否则,在 mydomain.com/anotherpage 上单击链接会将我转到其他页面,例如 mydomain.com/page2,该页面无效,因为未代理。现在,在另一个页面中单击的链接使我在另一个页面代理之间移动,例如 mydomain.com/anotherpage/somelink。

相关内容