Results 3 issues of 南玄墨客

如下图所示,像这样的临时下载链接无法使用 Office 文档预览服务。 这个链接测试过,是有效的,在浏览器可以正常下载。 ![图片](https://github.com/cloudreve/Cloudreve/assets/67322366/1321d11d-445b-4405-8557-dac1298ecf40) 改成外链后可正常预览。 ![图片](https://github.com/cloudreve/Cloudreve/assets/67322366/2a8e8f7c-cc61-4c34-9c3f-821866d6c1f4)

### 问题描述 Version 3.3.0 CDN第一层使用的YUNDUN,第二层使用的奇安信。 使用多层CDN时X-Forwarded-For内会包含多个IP,第一个IP是客户端I,但雷池WAF只获取最后一个IP作为客户端IP。 这就导致了一些问题,一个是客户端IP不准确导致无法对IP组做出限制以及放行,还有导致用户访问超过限频阈值,因为全被计到一个IP头上去了。 以下为示例: X-Forwarded-For: 39.9.9.9, 183.9.9.9 39.9.9.9 正确的客户端IP 183.9.9.9 是奇安信CDN 雷池获取最后一个IP(183.9.9.9)作为客户端IP,而第一个才是正确的客户端IP。也有可能直接获取socket ip? 这里有个和我相同问题的同学,[https://github.com/chaitin/SafeLine/issues/208](https://github.com/chaitin/SafeLine/issues/208)。看到这里回复说会将X-Forwarded-For整体作为IP解析,解析失败则使用socket ip,这是个问题,如果使用了多层反向代理的话,则无法正确通过X-Forwarded-For获取客户端IP,X-Forwarded-For是有可能包含多个IP的,不应该将其作为一个整体解析,应该解析其中的IP,并获取第一个IP为客户端IP。 ![934260ba8775328688cc19ec3794da6](https://github.com/chaitin/SafeLine/assets/67322366/b800e22a-81e8-453a-b0bd-91df66a1e29f) ![图片](https://github.com/chaitin/SafeLine/assets/67322366/cdd626f6-a9c0-45b5-850e-38004948d06e) 当X-Forwarded-For存在多个ip时,第一个IP为客户端IP,其余都是网络过程中负载均衡、CDN等。 ![图片](https://github.com/chaitin/SafeLine/assets/67322366/da2dfdda-c69c-4b3a-a4cb-5606601f7792)

enhancement
released

希望的在文字过多时能够增加一个允许换行显示的效果,而不是省略,无法传递信息给用户,体验不好。 希望增加一个换行选项,允许换行显示。 ![图片](https://github.com/user-attachments/assets/34ca3e4d-6223-429c-a4cc-fc8ed7fee667) ![图片](https://github.com/user-attachments/assets/ab9c5a2f-436d-4932-b220-0d32dde5fa87)