我在 Mac 上使用 Apache。我正在开发一个通过 HTTPS 运行的前端应用程序,由于我们的安全配置,我无法通过 HTTP 运行该应用程序。后端开发人员正在使用他们的机器托管一个 API 供我挂接,但不幸的是,他们通过 HTTP 托管它,这意味着我无法通过应用程序访问它。
API 托管于http://testpc:7788
。
我是否可以配置 Apache 以允许我使用 HTTPS 访问它?(如果我需要使用的域或端口需要更改也没关系)。
到目前为止我尝试过的所有方法(ProxyReverse,通过 Keychain 为域生成 SSL 证书以及认为 HTTPSEverywhere 可以解决我的问题)都失败了:
答案1
嗯,这几乎是一种常见的情况。此外,这正是所谓的SSL 卸载- 当您在反向代理上终止 HTTPS,然后通过纯 HTTP 将其传递到后端时。mod_proxy加mod_rewrite(它们通常一起工作,就像硬币的两面一样)是您的正确选择。
我将省略 HTTPS 配置,因为它很简单,具体mod_rewrite/mod_proxy部分看起来会像这样:
RewriteRule ^/(.*)$ http://testpc:7788/$1 [P,L]
PS 从我所看到的情况来看,您要么没有在前端正确终止 HTTPS,要么没有传递它(没有正确代理它),很难说。首先练习创建一个枯燥的 HTTPS 网站,然后添加我上面发布的部分。