Làm cách nào tôi có thể kích hoạt đăng nhập cho các yêu cầu thông qua mod proxy


14

Có cách nào để đăng nhập yêu cầu thông qua mod proxy không? Tôi cần một cách để gỡ lỗi cấu hình của mình, vì dường như tôi không đến được nơi tôi nên đến. Tôi cần các thông tin sau:

  • tiêu đề của các yêu cầu đến
  • những gì đang được gửi đến mục tiêu proxy

Có lẽ một câu hỏi liên quan: có cách nào để loại bỏ một số tiêu đề? Tôi đã thử như sau:

ProxyPass         /proxy/other http://not.under.my.control/
<Location /proxy/other>
   ProxyPassReverse /
   RequestHeader unset Authorization
</Location>

Tôi thực sự không biết liệu điều này có ổn không, vì tôi không thấy gì cả.


Tôi sẽ sử dụng mitmproxycho loại gỡ lỗi này.
gà con

Câu trả lời:



10

Tôi đã sử dụng dumpio. Tôi đặt như sau /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Một phần thường bị lãng quên là thiết lập LogLevel để gỡ lỗi. Không có nó, bạn sẽ không thực sự thấy bất kỳ đầu ra DumpIO nào.

Đầu ra nhật ký được ghi vào nhật ký lỗi cho máy chủ ảo và / hoặc máy chủ.


2
Hóa ra khá hữu ích cho tôi. Cảm ơn! Trên Ubuntu tôi đã đi $ a2enmode dump_ioSau đó tôi đã thêm các dòng từ câu trả lời vào một chỉ thị Virtualhost. Kiểm tra $ tail -f /var/log/apache2/error.logtrong khi thực hiện các yêu cầu và nhận được tất cả thông tin tôi cần. Sau khi hoàn thành việc gỡ lỗi, tốt hơn hết là tắt nó đi $ a2dismode dump_iovà hoàn nguyên Virtualhost. Nếu không, bạn sẽ nhận được nhật ký rất cồng kềnh.
uKolka

1
Lệnh "DumpIOLogLevel" không còn tồn tại. Người ta phải thiết lập LogLevel dumpio:trace7như được mô tả trong mod_dumpio
David Tonhofer

4

Nếu bạn thay đổi LogLevel để gỡ lỗi, nó sẽ cung cấp cho bạn chi tiết hơn về những gì đang diễn ra trong nhật ký Lỗi tiêu chuẩn.

LogLevel debug

Điều đó sẽ giúp bạn có nhiều thông tin về những gì đang xảy ra.


1
Mặc dù bây giờ tôi có khá nhiều thông tin bổ sung về proxy trong nhật ký, thông tin tôi muốn thấy không có ở đó. Sử dụng LogFormat, bằng cách nào đó chúng ta có thể nhận được thông tin tôi yêu cầu không?
Kariem

1
Hãy chơi xung quanh với LogFormat, Lưu ý rằng bạn có thể sử dụng mod_forensic và mod_security để biết thêm chi tiết
Decado

Trong apache 2.4, lệnh LogLevel có trong /etc/apache2/apache2.confUbuntu. Có vẻ rõ ràng nhưng tôi phải mất một giây để tìm ra điều đó.
Shrout1

2

Bạn cũng có thể nối proxy:trace5vào LogLevelchỉ thị hiện có của bạn

Nếu bạn có cái này

LogLevel error 

Thay đổi nó thành này

LogLevel error proxy:trace5

Hãy chắc chắn để thay đổi trở lại bình thường sau khi sử dụng. Điều này sẽ tạo ra các tệp nhật ký lớn nhanh chóng.


Điều này không hoạt động cho apache 2.2, mà câu hỏi này được gắn thẻ là.
Brian Minton

1

mod_security có thể ghi nhật ký yêu cầu cơ thể và tiêu đề, trong số những thứ khác. Liên kết


1
Thực hành tốt nhất là cung cấp một bản tóm tắt súc tích. Kể từ 2015-08, liên kết dường như đã chết ...
hiền nhân

-2

Bạn có thể sử dụng các nhật ký này, nhưng chúng sẽ không cung cấp cho bạn chính xác những gì bạn muốn:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
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.