我在docker容器中的反向代理后面有一个Lumen API,该容器仅在端口80上响应。因此,客户端请求某个域https://xyz.ab/api/endpoint,一切正常。
但是,如果您想使用Request->secure()
检查您使用的是http还是https,那么lumen返回false(= http)并生成错误的网址。
我尝试使用URL::forceScheme("https");
来告诉lumen无论如何都使用https,但是lumen仍然坚持使用http。
我不想只是为了让流明相信https而在容器中安装证书。
是否存在可以全局配置流明以使用https而不是http的地方?
谢谢。
答案 0 :(得分:0)
谢谢,PtrTon。那是正确的答案。流明使用Illumintae\Http\Request
扩展了Symfony\Component\HttpFoundation
,其中包括setTrustedProxies
方法。
所以我基本上要做的是:
配置我的反向代理以转发正确的标头,这些标头是:
对于ssl,添加X_FORWARDED_PROTO = https或X_FORWARDED_PORT = 443就足够了,因为这些是secure()方法正在寻找的值。添加它们并告诉流明信任代理后,secure()就会返回true。