我的機器上部署了nginx與ngrok但是我需要讓兩個程式都使用80和443
我現在ngrok監聽81,444然後nginx反代
反代配置如下
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;
}
}
但是,現在出現一個問題,我映射後直接訪問仍提示隧道未映射,然後還是得在域名後面加上:81才能訪問,請問如何解決
怪我咯2017-05-16 17:21:30
我也被這個問題坑到了。
解決方法就是註解掉
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
這行。
如果nginx反代的同時又轉送了真實的IP位址,ngrok會收到兩個ip導致衝突。