【发布时间】:2021-12-08 14:11:37
【问题描述】:
我们已经部署了一个 symfony 项目并且工作正常,但是现在我们想要启用 https。
我们像这样创建并启用了另一个虚拟主机:
<VirtualHost *:443>
ServerName project.domain.net
DocumentRoot /home/user/dev/project/web
<Directory /home/user/dev/project/web>
AllowOverride All
Require all granted
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
<Directory /home/user/dev/project>
Options FollowSymlinks
</Directory>
ErrorLog /var/log/apache2/project.test_error.log
CustomLog /var/log/apache2/project.test_access.log combined
SSLEngine on
SSLCertificateChainFile /ssl/cert.pem
SSLCertificateKeyFile /ssl/private.key
SSLCertificateFile /ssl/wildcard.crt
我们可以导航到https://project.domain.net,看起来没问题,但是当我们检查时
$request->getUri();
结果是http://project.domain.net,所以是http而不是https。
这是为什么呢?如何解决?
更新: 我们添加了@Leroy 给出的配置,结果是:
HTTP_X_FORWARDED_PROTO https
REQUEST_METHOD GET
REQUEST_SCHEME http
SERVER_NAME zerbikatdesa.sare.gipuzkoa.net
SERVER_PORT 80
$request->getUri 仍然返回 https 的 http
【问题讨论】:
-
(a) 您是否在代理或负载平衡器后面? (b) 为什么这个标签是 Laravel?
标签: php laravel apache symfony