gpt4 book ai didi

redirect - https 下带有 301 重定向的 Nginx 反向代理

转载 作者:行者123 更新时间:2023-12-02 18:57:51 26 4
gpt4 key购买 nike

我是Nginx的新人,我的目标是:

当我访问127.0.0.1:8080/proxy/git/https://127.0.0.1/proxy/git/时,Nginx(反向)代理可以到达https://github.com

我的 nginx 配置被破坏了:

http {

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

server_name 127.0.0.1;

ssl_certificate /etc/nginx/xxxxxxx.crt;
ssl_certificate_key /etc/nginx/xxxxxxx.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 off;

proxy_set_header Host $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;
# server_name_in_redirect off;

当我在chrome地址栏中输入 或 时,我得到了301重定向,地址变成了 ,我认为它变成了直接访问,但我想要代理访问,这是一张图片:

enter image description here

但是,当我重定向到 http&static 网站时,就可以了。

我在网站上查了很多,有人说是因为proxy_redirect,我测试了一下为proxy_redirect//; 或者删除它,并更改 >proxy_set_header Host $host;proxy_set_header Host $http_host; 但都没有意义。

特别是,如果我删除 proxy_redirect 行并将 $host 更改为 $http_hosts,,如下所示:

        proxy_pass https://github.com/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Server;
#proxy_redirect default;

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

看来我和我自己之间会做301???

enter image description here

所以,我的问题是:

  1. 谁能告诉我如何在 127.0.0.1 下反向代理到 github? (想象一下我在一个必须使用这种反向代理的地方)

  2. 您能用简单的语言解释我们为什么要这样做,真是太好了,我也想知道原因。

  3. 我的英语很差,所以为了说清楚,我们可以将github称为“目标服务器”或“目标网站”,并将127.0.0.1称为“代理服务器”或“nginx”

衷心感谢所有愿意帮助我的人!

最佳答案

我已经找到原因了。

Github 需要 Https 和 HOST:github.com

proxy_set_header Host $http_host;无法帮助您更改此主机 header ,应使用proxy_set_header Host $proxy_host;代替。这会将主机 header 更改为 github。

关于redirect - https 下带有 301 重定向的 Nginx 反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39434674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com