My Server use CentOS and I have installed mod_qos like this.
cd mod_qos-8.18/apache2/
apxs -i -c mod_qos.c
Then it show statement below ,so it seem libraries installed already .
-----------------------------
Libraries have been installed in:
/usr/lib/apache
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so( manual pages.
-----
chmod 755 /usr/lib/apache/mod_qos.so
cd etc/httpd/conf
nano qos.conf
I edite qos.conf
## QoS Settings
<IfModule mod_qos.c>
QS_ClientEntries 100000
QS_SrvMaxConnPerIP 20
MaxClients 256
QS_SrvMaxConnClose 180
QS_SrvMinDataRate 150 1200
</IfModule>
I add statement below to my httpd.conf
LoadModule qos_module /usr/lib/apache/mod_qos.so
and include qos.conf
Include “/etc/httpd/conf/qos.conf”
Now i restart apache
service httpd restart
but when i restart apache I 'm not able to get the server-status by http://__server ip__/server-status
It show error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache Server at xxx.xxx.xxx.xxx Port 80
www.aaaa.com:80 (virtual)
uses base server settings
www.ccccc.com:80 (virtual)
uses base server settings
www.bbbb.com:80 (virtual)
uses base server settings
www.ddddd.com:80 (virtual)
uses base server settings
Normally I can use server-status<mod_status> to show detail about request to apache but when I load module mod_qos in my httpd.conf it has internal server error. I think it has problem in qos.conf but when coment
# Include “/etc/httpd/conf/qos.conf”
It remain internal server error.
Some one can help me pls.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mod_qos has a request filter. This filer denies requests which have no request path (which should be /server-status in your case). What kind client/browser are you using to access the /server-status url? Maybe there is any other module which modifies the request path?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My Server use CentOS and I have installed mod_qos like this.
cd mod_qos-8.18/apache2/
apxs -i -c mod_qos.c
Then it show statement below ,so it seem libraries installed already .
-----------------------------
Libraries have been installed in:
/usr/lib/apache
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so( manual pages.
-----
chmod 755 /usr/lib/apache/mod_qos.so
cd etc/httpd/conf
nano qos.conf
I edite qos.conf
## QoS Settings
<IfModule mod_qos.c>
QS_ClientEntries 100000
QS_SrvMaxConnPerIP 20
MaxClients 256
QS_SrvMaxConnClose 180
QS_SrvMinDataRate 150 1200
</IfModule>
I add statement below to my httpd.conf
LoadModule qos_module /usr/lib/apache/mod_qos.so
and include qos.conf
Include “/etc/httpd/conf/qos.conf”
Now i restart apache
service httpd restart
but when i restart apache I 'm not able to get the server-status by
http://__server ip__/server-status
It show error
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache Server at xxx.xxx.xxx.xxx Port 80
www.aaaa.com:80 (virtual)
uses base server settings
www.ccccc.com:80 (virtual)
uses base server settings
www.bbbb.com:80 (virtual)
uses base server settings
www.ddddd.com:80 (virtual)
uses base server settings
Normally I can use server-status<mod_status> to show detail about request to apache but when I load module mod_qos in my httpd.conf it has internal server error. I think it has problem in qos.conf but when coment
# Include “/etc/httpd/conf/qos.conf”
It remain internal server error.
Some one can help me pls.
I propose to check the Apache server's error log about the reason for the server error page.
This is my apache error log when i get internal server error .
mod_qos(045): access denied, invalid request line: can't parse uri
mod_qos has a request filter. This filer denies requests which have no request path (which should be /server-status in your case). What kind client/browser are you using to access the /server-status url? Maybe there is any other module which modifies the request path?
I am also facing the same issue after enable the mod qos module. Please help.
Last edit: Anonymous 2023-06-24