最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

用nginx给airsonic做反向代理出现的问题

服务器相关 hanlei 2086浏览

用frp把家里的airsonic挂到了公网服务器上,再用nginx反向代理设置域名和SSL,结果老是不能正常访问。

问题描述

不断尝试更改nginx反向代理配置,但问题一直没有解决,有时是网站跳转时端口不对,有时是协议不对。总之归纳原因其实只有一个,就是服务端生成的URL不正确。

更改过各种代理配置,但都无法解决,就要放弃的时候,看到了下面的介绍,原来官方早以给出了问题的解决方法,只怪自己英文不好。

当时用GOOGLE翻译了一下,就看到反向代理什么的需要配置JAVA_OPTS

解决方法

首先airsonic服务器需要加上面说的那个环境变量,我用的docker,如下

docker run -d \
  --name=airsonic \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e CONTEXT_PATH=<URL_BASE> \
  -e JAVA_OPTS="-Dserver.use-forward-headers=true" \
  -p 4040:4040 \
  -v </path/to/config>:/config \
  -v </path/to/music>:/music \
  -v </path/to/playlists>:/playlists \
  -v </path/to/podcasts>:/podcasts \
  -v </path/to/other media>:/media \
  --device /dev/snd:/dev/snd \
  --restart unless-stopped \
  ghcr.io/linuxserver/airsonic

然后在nginx反向代理配置文件中加个forward-headers相关参数

proxy_set_header X-Forwarded-For xxx.xxx.xxx.xxx;
proxy_set_header X-Forwarded-Host proxyserver;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host:443; #我这里给Host和X-Forwarded-Host都加了端口号,因为不加的话还是会出问题

转载请注明:HANLEI'BLOG » 用nginx给airsonic做反向代理出现的问题