使用 Apache 在 DDEV 中重定向 HTTP -> HTTPS

sky*_*k42 2 .htaccess typo3 ddev

我需要帮助来了解在 DDEV 中使用 apache-fpm 时如何将 HTTP 重定向到 HTTPS。

T3站点config.yaml

base: 'https://sample-project.ddev.site/'
Run Code Online (Sandbox Code Playgroud)

ddev 配置.yaml

name: sample-project
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
use_dns_when_possible: true
Run Code Online (Sandbox Code Playgroud)

在 safari https://sample-project.ddev.site/中调用时工作正常,但是在 safari Sample-project.ddev.site 中调用时 它不起作用,我得到一个 T3 哎呀,所以我插入了 .htaccess (相当于我的托管服务器)

RewriteCond %{HTTPS} !off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

现在 safari 抱怨太多重定向,我想知道这些重定向从哪里来以及为什么,T3 后端中没有设置重定向,没有对 .htaccess 与原始 T3 .htaccess 进行进一步更改,我希望 ddev 简单地重定向sample-project.ddev。站点https://sample-project.ddev.site/

Kry*_*ian 15

请使用此重定向。由于 ddev-router 正在终止 HTTPS,因此它设置了 X-Forwarded-Proto,但 ddev-webserver(您放置规则的位置)实际上是通过 HTTP 获取流量。

  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTPS} off
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Run Code Online (Sandbox Code Playgroud)