ฉันจะทดสอบได้อย่างไรว่าเซิร์ฟเวอร์ apache ของฉันเป็น proxy แบบเปิดหรือไม่


11

มีคำสั่ง curl ที่จะตรวจสอบความถูกต้องหรือไม่หากเซิร์ฟเวอร์ทำหน้าที่เป็นพร็อกซีเปิด

ฉันได้พยายาม

curl --proxy http://<my server>:80 http://yahoo.com

แต่การตอบสนองจาก apache คือ:

Description: Could not process this "GET" request.

10
ที่ควรทำ การตอบสนองนั้นหมายความว่ามันไม่ได้ทำหน้าที่เป็นพร็อกซีบนพอร์ตนั้นอยู่ดี หากเป็นเช่นนั้นคุณควรได้รับหน้าของ Yahoo (หรือการตรวจสอบความถูกต้องของพร็อกซีหรือการตอบกลับของพร็อกซีอื่น ๆ )
squillman

นอกจากนี้คุณควรทดลองใช้เว็บไซต์พร็อกซี่ด้วย http / https จะถูกนำไปใช้งานต่างกัน apache proxies ที่ฉันใช้ไม่ทำงานเหมือน btw นี้เซิร์ฟเวอร์ remote (proxied) ถูกระบุในการกำหนดค่าที่อื่น มันเป็นเช่นเมื่อคุณต้องการหน้าจากเซิร์ฟเวอร์สุ่มที่จะปรากฏบนเว็บไซต์หลักของคุณหรือบางสิ่งบางอย่าง
Linux Nerd

curl --proxy http: // <yourserver>: 80 https: //mail.google.com # <--- https
Linux Nerd บางตัว

นอกเหนือจากการทดสอบที่แนะนำข้างต้นคุณสามารถตรวจสอบการกำหนดค่าของคุณ ในการกำหนดค่า Apache เป็นพร็อกซีส่งต่อจำเป็นต้องมี "ProxyRequests On" (ค่าเริ่มต้นคือปิด) สามารถเปิดใช้งานได้เฉพาะในระดับโลก (เซิร์ฟเวอร์) หรือระดับโฮสต์เสมือนดังนั้นคุณไม่จำเป็นต้องค้นหาไฟล์ htaccess
ผู้ที่ไม่เชื่อ

คำตอบ:



1

คำตอบง่ายๆคือถ้าคุณมีProxyRequests On(ค่าเริ่มต้นเป็นปิด) บางแห่งในการกำหนดค่าของคุณคุณอาจกำลังเรียกใช้พร็อกซีเปิดถ้าคุณไม่ทำอย่างนั้นคุณก็ไม่ใช่อย่างน้อยจากด้านการกำหนดค่า Apache ของสิ่งต่าง ๆ

หากคุณยังคงได้รับ200 OKรายการในบันทึกการเข้าถึงของคุณสำหรับคำขอที่มีลักษณะเหมือนคำขอส่งต่อพร็อกซีอาจเป็นเพราะคุณมี catchall เขียนใหม่ที่แมปคำขอใด ๆไปยังตัวควบคุมไม่ว่าจะมีลักษณะอย่างไร คุณอาจเพิ่มเงื่อนไขเพื่อป้องกันสิ่งนี้หากคุณกังวล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.