宝塔用户_uysuea 发表于 2022-6-29 23:02:30

【已解答】GO项目 获取不到正确的Host、Scheme

最新测试版:Beta 7.9.34


【GO项目】的配置文件默认的【HTTP反向代理相关配置】如下:

location / {

      proxy_pass http://127.0.0.1:8080;

      proxy_set_header Host 127.0.0.1:$server_port;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_set_header REMOTE-HOST $remote_addr;

      add_header X-Cache $upstream_cache_status;



      proxy_connect_timeout 30s;

      proxy_read_timeout 86400s;

      proxy_send_timeout 30s;

      proxy_http_version 1.1;

      proxy_set_header Upgrade $http_upgrade;

      proxy_set_header Connection "upgrade";

    }那么问题来了,这样go程序内,获取到的Host始终是127.0.0.1,获取到的Scheme始终是空的。


建议增加两条:
proxy_set_header X-Host $host:$server_port;
proxy_set_header X-Scheme $scheme;这样,go程序可以通过获取header内的数据,来获取正确的Host和Scheme


希望官方能采纳一下,谢谢!


最后,希望【Go项目】列表能增加批量重启功能,因为每次修改程序之后,都需要重启程序才能生效。




堡塔开发wzz 发表于 2022-6-29 23:09:48

记一下,需求合理

宝塔技术-小强 发表于 2022-7-9 14:19:37

感谢。2022-7-09 14:19 全部项目都增加这个配置。

大头针子 发表于 2022-8-20 06:26:49

宝塔技术-小强 发表于 2022-7-9 14:19
感谢。2022-7-09 14:19 全部项目都增加这个配置。

今天也遇到这个问题,很好奇为啥直接加了x-Host,不直接把原来的Host改成Host $host
而且这个配置文件这里,修改保存时是成功的,只要是添加更改域名。这里的配置就被还原了,那么把配置文件入口设计,就很鸡肋了。

南南呦 发表于 2022-9-16 16:49:36

大头针子 发表于 2022-8-20 06:26
今天也遇到这个问题,很好奇为啥直接加了x-Host,不直接把原来的Host改成Host $host
而且这个配置文件这 ...

您好!请问您这边是否解决了问题了呢?还未解决的话这边建议重新发帖提问一下哦!感谢使用宝塔面板!
页: [1]
查看完整版本: 【已解答】GO项目 获取不到正确的Host、Scheme