Heim > Fragen und Antworten > Hauptteil
Ich habe Nginx und Ngrok auf meinem Computer bereitgestellt, aber ich muss dafür sorgen, dass beide Programme 80 und 443 verwenden.
Jetzt hört Ngrok auf 81, 444 und dann auf Nginx Reverse Generation
Die Anti-Generation-Konfiguration ist wie folgt
server {
listen 80;
server_name *.0n0.win;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http://127.0.0.1:81;
#Proxy Settings
proxy_redirect off;
#proxy_set_header Host downloads.openwrt.org;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 443;
server_name *.0n0.win;
ssl on;
ssl_certificate /etc/letsencrypt/live/shirakun.cc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/shirakun.cc/privkey.pem;
# access_log logs/quancha.access.log main;
# error_log logs/quancha.error.log;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass https://127.0.0.1:444;
#Proxy Settings
proxy_redirect off;
#proxy_set_header Host downloads.openwrt.org;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
Nachdem ich es zugeordnet habe, wird beim direkten Zugriff immer noch angezeigt, dass der Tunnel nicht zugeordnet ist. Dann muss ich noch Folgendes hinzufügen: 81, um darauf zuzugreifen
某草草2017-05-16 17:21:30
server {
listen 80;
server_name *.0n0.win;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass http://127.0.0.1:81;
#Proxy Settings
proxy_redirect off;
#proxy_set_header Host downloads.openwrt.org;
proxy_set_header Host $host:81;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 443;
server_name *.0n0.win;
ssl on;
ssl_certificate /etc/letsencrypt/live/shirakun.cc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/shirakun.cc/privkey.pem;
# access_log logs/quancha.access.log main;
# error_log logs/quancha.error.log;
root html;
index index.html index.htm index.php;
## send request back to apache ##
location / {
proxy_pass https://127.0.0.1:444;
#Proxy Settings
proxy_redirect off;
#proxy_set_header Host downloads.openwrt.org;
proxy_set_header Host $host:444;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
怪我咯2017-05-16 17:21:30
我也被这个问题坑到了。
解决方法就是注释掉
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
这行。
如果nginx反代的同时又转发了真实的IP地址,ngrok会收到两个ip导致冲突。