如何使用 TLS 反向代理运行 Supabase 和 t-rex

如何使用 TLS 反向代理运行 Supabase 和 t-rex

我有一个 VPS,在不同的端口上有 2 个服务,并且为 IP 提供自签名 SSL。端口是 Supabase 8000,端口是 t-rex 服务6767。我需要在 HTTP 上同时使用它们,例如https://192.0.2.1:8000Supabase 和https://192.0.2.1:6767t-rex。

我使用 HTTP,但如何使用 HTTP年代?我尝试使用 Apache2,它可以工作。但我不知道如何添加6767?据我所知,HTTPS 在端口上443

<VirtualHost 192.0.2.1:443>
    ServerName 192.0.2.1:8000

    SSLEngine on
    SSLProxyEngine On
    SSLCertificateFile /etc/ssl/certificate.crt
    SSLCertificateKeyFile /etc/ssl/private/private.key

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.0.2.1:8000/
    ProxyPassReverse / http://192.0.2.1:8000/
</VirtualHost>

SSLEngine                on
SSLCertificateFile       /etc/ssl/certificate.crt
SSLCertificateKeyFile    /etc/ssl/private/private.key
SSLCertificateChainFile  /etc/ssl/ca_bundle.crt

如果 Apache2 无法做到这一点,那么 NGINX 也可以。

答案1

ProxyPass对端口上的 Supabase 后端服务的指令8000表明这些服务已在同一 IP 地址上侦听这些端口;我假设端口上的 t-rex 服务器也是如此6767。显然,两个服务不能侦听同一个端口。

ProxyPass / http://192.0.2.1:8000/
ProxyPassReverse / http://192.0.2.1:8000/

您可以将非 TLS 服务绑定到本地环回然后添加反向代理在公共 IP 地址上提供 TLS。

现在您可以使用Apache 作为反向代理和:

Listen 192.0.2.1:8000
Listen 192.0.2.1:6767

<VirtualHost 192.0.2.1:8000>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certificate.crt
    SSLCertificateKeyFile /etc/ssl/private/private.key

    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>

<VirtualHost 192.0.2.1:6767>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certificate.crt
    SSLCertificateKeyFile /etc/ssl/private/private.key

    ProxyPass / http://127.0.0.1:6767/
    ProxyPassReverse / http://127.0.0.1:6767/
</VirtualHost>

你不需要SSLProxyEngine On因为后端没有使用 TLS。

相关内容