Làm cách nào để kiểm tra xem máy chủ apache của tôi có phải là proxy mở không?


11

Có một lệnh curl sẽ xác nhận nếu một máy chủ hoạt động như một proxy mở?

Tôi đã thử

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

Nhưng phản hồi từ apache là:

Description: Could not process this "GET" request.

10
Nên làm vậy. Phản hồi đó có nghĩa là nó không hoạt động như một proxy, dù sao trên cổng đó. Nếu bạn đã nhận được trang của Yahoo (hoặc xác thực proxy hoặc một số phản hồi proxy khác).
squillman

Bạn cũng nên thử ủy quyền cho một trang web https, http / https được triển khai khác nhau. Các proxy apache tôi đã sử dụng không hoạt động như btw này, máy chủ từ xa (proxy) được chỉ định trong một cấu hình ở đâu đó. Nó giống như khi bạn muốn một trang từ một máy chủ ngẫu nhiên xuất hiện trên trang web chính của bạn hoặc một cái gì đó.
Một số Nerd Linux

curl --proxy http: // <yourserver>: 80 https: //mail.google.com # <--- https
Một số Linux Nerd

Ngoài các thử nghiệm được đề xuất ở trên, bạn có thể kiểm tra cấu hình của mình. Để định cấu hình Apache làm proxy chuyển tiếp yêu cầu "ProxyRequests On" (mặc định là tắt). Nó chỉ có thể được kích hoạt ở cấp độ toàn cầu (Máy chủ) hoặc máy chủ ảo, vì vậy bạn không cần tìm kiếm các tập tin htaccess.
không tin

Câu trả lời:



1

Câu trả lời đơn giản là đây, nếu bạn có ProxyRequests On(mặc định tắt) ở đâu đó trong cấu hình của mình thì bạn có thể đang chạy proxy mở, nếu không thì bạn sẽ không, ít nhất là từ phía cấu hình Apache.

Nếu bạn vẫn nhận được 200 OKcác mục trong nhật ký truy cập của mình cho các yêu cầu trông giống như các yêu cầu proxy chuyển tiếp, thì có thể là do bạn đã ghi lại việc ánh xạ bất kỳ yêu cầu nào tới bộ điều khiển cho dù nó trông như thế nào. Bạn có thể có thể thêm các điều kiện để ngăn chặn điều này nếu bạn lo lắng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.