首页 > 解决方案 > Apache 代理服务器删除双斜杠

问题描述

已在我的服务器上将 Thumbor 配置为自托管 CDN。但是,我通过它的任何 URL 都合并了双斜杠,因此我收到错误 400。我使用 apache2.4 作为反向代理。这是我的虚拟主机配置。

<VirtualHost *:443>
    AllowEncodedSlashes NoDecode
    ProxyPreserveHost On
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Proxy *>
        Order allow,deny
        Allow from all
        </Proxy>
    ProxyPass / http://localhost:8888/
    ProxyPassReverse / http://localhost:8888/
ServerName images.example.com
SSLCertificateFile /etc/ssl/example.com/fullchain.pem
SSLCertificateKeyFile /etc/ssl/example.com/privkey.pem
</VirtualHost>

尝试使用拇指提供图像,所以如果我放链接

https://images.example.com/unsafe/https://example.com/uploads/media/test.jpg

我在拇指上得到这个

https:/example.com/uploads/media/test.jpg(*.*.*.*)

双斜杠已合并为一个导致错误的斜杠。我怎样才能摆脱这种行为?

标签: apache2apache2.4apache2.2apache-modules

解决方案


诀窍是nocanon您可以在文档中找到的选项。

如果添加此选项,则会保留原始 url。

ProxyPass / http://localhost:8888/ nocanon

推荐阅读