ฉันมี mitmproxy ที่ทำงานบนพอร์ต 2011 ฉันสามารถใช้งานได้ด้วยตัวเองด้วย curl -x http://127.0.0.1:2011 google.com
. อย่างไรก็ตาม ตอนนี้ฉันต้องการวางไว้ข้างหลัง nginx ภายใต้ชื่อโดเมน proxy.history.test
. อย่างไรก็ตามการทำ curl -x http://proxy.history.test:80 google.com -L -v
ล้มเหลวด้วย
* รับรหัส HTTP 400 จากพร็อกซีหลังจาก CONNECT
* เฟส CONNECT เสร็จแล้ว!
* การปิดการเชื่อมต่อ 1
curl: (56) รับรหัส HTTP 400 จากพร็อกซีหลังจาก CONNECT
ของฉัน nginx.conf
:
ผู้ปฏิบัติงาน_กระบวนการ 1;
#error_log บันทึก/error.log;
#error_log บันทึก/การแจ้งเตือน error.log;
#error_log บันทึก/error.log ข้อมูล;
pid /dev/null;
ภูตออก;
เหตุการณ์ {
worker_connections 1024;
}
http {
แผนที่ $http_upgrade $connection_upgrade {
อัพเกรดเริ่มต้น;
'' ปิด;
}
แผนที่ $http_host $service_port {
ชื่อโฮสต์;
ค่าเริ่มต้น '';
proxy.history.* 2011;
}
proxy_temp_path ./tmp;
access_log /dev/null;
ssl_certificate ./cert.pem;
ssl_certificate_key ./key.pem;
#proxy_set_header โฮสต์ localhost;
client_body_temp_path ./tmp;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ $connection_upgrade;
client_max_body_size 50m;
เซิร์ฟเวอร์ {
ฟัง 127.0.0.1:443 ssl;
server_name *.ทดสอบ;
ที่ตั้ง / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header โฮสต์ $host;
proxy_set_header X-NginX-Proxy จริง;
proxy_pass http://127.0.0.1:$service_port;
}
}
เซิร์ฟเวอร์ {
ฟัง 127.0.0.1:80;
server_name *.ทดสอบ;
ส่งคืน 302 https://$http_host$request_uri;
}
}
(ต้องระบุ. :80
ในคำสั่ง curl เพราะมิฉะนั้นจะพยายามเชื่อมต่อกับพอร์ต 1080
, ด้วยเหตุผลบางอย่าง).