使用HTTPS协议的nginx proxy_pass导致"invalid URL prefix"错误



我在dokku上运行nginx后面的php应用程序。我得到了一个位置与proxy_pass指令定义如下:

location ~* ^/cdn/(.*?)/(.*) {
  resolver 8.8.8.8;
  proxy_set_header HOST $1;
  proxy_pass https://$1/$2?$args;
}

我想使用此位置从S3重定向文件。

在错误日志中,我有以下错误:

2016/10/03 21:56:46 [error] 251#0: *11 invalid URL prefix 
  in "https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider2.jpg?", 
  client: 172.17.0.1, server: localhost, 
  request: "GET /cdn/s3-us-west-1.amazonaws.com/powr/defaults/image-slider2.jpg HTTP/1.1"

一切工作良好,如果我改变https://和使用http://代替。

感谢任何提示。

如果您从proxy_pass的主机部分删除变量,它将工作。

检查你的nginx配置,确保你有ngx_http_ssl_module

cd /usr/sbin/
./nginx -V

应该显示

启用TLS SNI支持

相关内容

  • 没有找到相关文章

最新更新