2 HTTPD2 上的 ProxyPass SSL 通配符

2 HTTPD2 上的 ProxyPass SSL 通配符

因此,我基本上尝试设置 3 个不同的 SSL 虚拟主机。我有以下设置

beta.website.com

api-beta.website.com

app-beta.website.com

beta 是我们的旧平台,api 和 app 是我们新平台的一部分,它们位于端口 8000(节点 api)和 3000(节点应用程序)上。因此,如果我使用端口号通过 http 访问网站,一切都会正常。但是,我正在尝试设置代理通行证,我很快就能完成所有工作了。

<VirtualHost *:443>
    ServerName api-beta.website.com
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/website.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/website.com.key
    SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
    ProxyPass / http://0.0.0.0:8000/
    ProxyPassReverse / http://0.0.0.0:8000/
    ErrorLog logs/ssl_error_api_log
    TransferLog logs/ssl_access_api_log
    LogLevel warn
  </VirtualHost>

  <VirtualHost *:443>
    ServerName app-beta.website.com
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/website.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/website.com.key
    SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
    ProxyPass / http://0.0.0.0:3000/
    ProxyPassReverse / http://0.0.0.0:3000/
    ErrorLog logs/ssl_error_app_log
    TransferLog logs/ssl_access_app_log
    LogLevel warn
  </VirtualHost>

除此之外,我还有主 beta.website.com 的虚拟主机,但在这里发布有点长,我不认为这是问题所在。所以目前的情况是这样的

https://beta.website.com有效,指向正确位置并具有 SSL

https://api-beta.website.com有效,指向正确位置并具有 SSL

https://app-beta.website.com几乎可以工作,直接指向 api-beta.website.com 内容,但具有正确的 URL 和 SSL。

基本上,我试图将内容从 :3000 代理传递到 app-beta.website.com,但它显示的内容来自 :8000。我尝试手动转到 :3000 和 :8000,它们都按预期工作并在 http 下显示正确的内容。关于我需要更改什么,有什么想法吗?

答案1

对于其他需要处理此问题的人。据我所知,问题是我的高端口号 (8000) 位于我的低端口号 (3000) 之前。切换 SSL 配置中的虚拟主机顺序并重新启动 apache 解决了该问题。请有更多知识的人告诉我原因。

相关内容