pdfkit返回的500错误
因为项目中需要网页导出pdf提供用户下载
所有的测试都u没有问题,但是通过域名部署后,发现原来的pdfkit生成本地文件后,然后网页给用户提供下载链接,
这个时候前期测试都没有问题,但是通过域名访问后就有问题了。
分析原因
开始以为是远程用户访问,windows的权限问题,所以始终在文件读取和保存方面考虑,通过增加参数给权限都没有效果,麻烦的地方就是,看不见明细的提示。
找到原因是域名路由问题
因为pdfkit我使用的时候,是打印本网页,所以会把请求地址回传给后端,但是这个时候有个问题,这个服务器是通过端口映射给外网域名,通过外网域名再回到服务器上,所以在部署了域名访问后,请求的地址是域名。
只能通过地址转换实现
大概情况如下
本地服务器地址:192.168.1.123:8000
映射到 外网地址:124.xxx.xxx.xx:8000
通过域名解析后:http:\zz500.com:8000
网页发出保存文件请求,返回了http:\zz500.com:8000/ddd/的地址
服务器无法访问:http:\zz500.com:8000/ddd/ 报500错误