我在 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:3002到127.0.0.1:3002/另一页。否则,在 mydomain.com/anotherpage 上单击链接会将我转到其他页面,例如 mydomain.com/page2,该页面无效,因为未代理。现在,在另一个页面中单击的链接使我在另一个页面代理之间移动,例如 mydomain.com/anotherpage/somelink。