如何告诉TYPO3使用反向代理时它的URL是什么?

时间:2017-03-30 13:18:24

标签: nginx typo3 reverse-proxy typo3-7.6.x

我有:

  • 网址www.my-website.com
  • 运行TYPO3的机器,其主机名如typo3-website.my.internal.domain.com
  • 运行Nginx的计算机,它使用proxy_pass将请求从www.my-website.com发送到typo3-website.my.internal.domain.com
  • 指向反向代理计算机的www.my-website.com的DNS A记录。

当后端用户在页面模块中工作时,他们右键单击页面上的“显示”,它会尝试在运行TYPO3的计算机的主机名上打开页面。

我希望它在实际网站网址下打开页面。

我需要更改哪些设置才能使其正常工作?

我已经尝试过但没有帮助的事情:

  • 设置可信主机模式
  • 'reverseProxyIP'=> '*'
  • 'reverseProxyHeaderMultiValue'=> '最后'

2 个答案:

答案 0 :(得分:1)

我需要创建一个domain record。这部分地解决了它。

这仍然会导致图像在后端使用错误的URL。

这意味着,例如,页面树模块中的小虚线不会显示。

为了解决这个问题,我使用了来自this forum thread的线索。我需要将HTTP_HOST变量设置为我的域并将其发送到PHP fpm:

location ~ \.php$ {
    try_files $uri = 404;
    include ${pkgs.nginx}/conf/fastcgi.conf;

    fastcgi_pass unix:/var/run/phpfpm/default.sock;
    # Assorted fastcgi_blah
    fastcgi_param HTTP_HOST "www.my-domain.com";
}

答案 1 :(得分:0)

如果您尝试让TYPO将请求视为对特定域的请求,您可能需要在代理块上使用以下内容:

proxy_set_header Host $proxy_host;