Ich bin ein neuer in Nginx, mein Ziel ist, dass:Nginx Reverse-Proxy mit 301-Weiterleitung unter https
wenn ich 127.0.0.1:8080/proxy/git/
oder Https://127.0.0.1/proxy/git/
besuchen, die Nginx (rückwärts) Proxy es https://github.com
machen Mein nginx conf ist Schlag:
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;
wenn ich eingeben oder in meiner chrome-Adressleiste, ich habe eine 301-Weiterleitung und die Adresse wurde, was ich denke, es ist ein direkter Besuch wurde, aber ich mag einen Proxy-Besuch, hier ist ein Bild:
Allerdings, wenn ich auf einen http & statische Website umleiten, es ist OK.
ich viel von der Website gesucht haben, sagt jemand es ist, weil proxy_redirect
, ich es proxy_redirect//;
getestet haben oder es löschen, und die proxy_set_header Host $host;
in proxy_set_header Host $http_host;
ändern, aber alles keinen Sinn machen.
speziell, wenn ich die proxy_redirect
Linie sowohl löschen und $host
wie unten an $http_hosts,
ändern:
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;
es scheint, dass es beteewn mich 301 und mich tun ???
Also, meine Frage ist:
Kann mir jemand sagen, wie kann ich Reverse-Proxy unter 127.0.0.1 auf GitHub? (Stellen Sie sich vor, ich bin an einem Ort, wo diese Art Reverse-Proxy verwenden muss)
Es ist sehr nett von Ihnen, wenn Sie einfache Wörter verwenden können, um zu erklären, warum wir das tun sollten, möchte ich auch den Grund wissen.
Mein Englisch ist sehr schlecht, so, um es klar zu machen, können wir Github die „Zielserver“ oder „Ziel-Website“, und rufen Sie 127.0.0.1 „Proxy-Server“ oder „nginx“ nennen
Danke herzlich für jeden, der mir helfen will!