Nginx反向代理时候并没有修改Host头

whx202020 2016-09-12 10:15:43
我想反向代理到百度,Nginx设置在本地
配置文件一会给出,

按照我的想法,我在浏览器输入我自己本地的 nginx 地址: http://127.0.0.1:8080/ ,
这时候 http 头的 host 肯定是 127.0.0.1

然后,nginx 反向代理的时候,向真正的目的服务器请求的时候,host应该是被它修改,变成: www.baidu.com 才对,实际上没有...。
可是最关键的问题是,我已经设置:
proxy_set_header Host $http_host;

不是说好的设置这个就能给我转换的么,按理来说应该给我转换了

我用wireshark 和 tcpdump抓包 发现Host头没有转换,还是127.0.0.1,所以目的服务器拒绝了我或者报错


http {

server {
listen 8080 default backlog=2048;
listen 443 ssl;

server_name 127.0.0.1;

ssl_certificate /etc/nginx/1.crt;
ssl_certificate_key /etc/nginx/1.key;

location /proxy/git/ {
proxy_pass https://github.com/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Server;


proxy_redirect / /;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;

}
error_page 500 502 503 504 /50x.html;
}

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

# server_names_hash_bucket_size 64;
...全文
2204 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiarus 2016-10-14
  • 打赏
  • 举报
回复
多蛋疼才。。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧