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