-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple component wwsympa_url with mod_proxy_fcgi is broken #879
Comments
Current version of Sympa relys on
However, by the configuration with mod_proxy_fcgi:
If a client accesses to
I.e., the server takes the first component of requested URI as SCRIPT_NAME and the remainder as PATH_INFO. From my understanding, this is one of possible behaviors of the server (See RFC 3875, 3.3 and related sections). Question: Should we deal with this problem by Sympa itself? If otherwise, which? |
The first question, may we rely that the web server parses properly the REQUEST_URI, and sets the values for SCRIPT_NAME and PATH_INFO? I think, the answer is: no, as the problem shows. Unless, there is a configuration option for the web server (that case apache) to tell where to cut the REQUEST_URI. I think the proper way is not to rely on SCRIPT_NAME and PATH_INFO. Use only REQUEST_URI and parse it based on the value of the wwsympa_url configuration variable(s). |
Indeed we could write the code to parse The process to split script-URI into PATH_INFO etc. looks essentially in charge of the CGI (web server). So my opinion at the moment is that --- we'd be better to find the way to configure httpd, or to repair mod_proxy_fcgi. |
FYI. Apache HTTPd 2.4.26 or later has For RHEL/CentOS, RHSCL / SCL repository has |
Yes, I think it might be a feasible solution for the problem. After positive testing, may it be a general suggestion for CentOS 7 never use the shipped version of |
No. There are many ways including SCL to use httpd 2.4.26+. EDIT: In other words, using recent version of httpd is not a workaround but a legitimate solution. |
FYI. nginx has similar problem, however it also has solution.
By this configuration, SCRIPT_NAME and PATH_INFO will have expected values. If |
lighttpd does not have problem.
Same as nginx: If we want to change path of Sympa web interface, we have to change two parameters in configuration. |
httpd using
has the same problem as nginx without httpd 2.4.11 and later may "guess" better PATH_INFO using |
In conclusion: Although most of recent HTTPd software can adjust PATH_INFO, adjusting it by WWSympa can simplify configuration. @bruncsak , could you please apply this patch and check if it works as expected? |
@bruncsak , if you have difficulty to apply patch, please check the next beta (perhaps released in a few months): Changes may be included in it. |
@xavierba, Thanks for the packaging! It is always returning with the following HTTP status code and message in the HTTP header:
I tried to reconfigure to |
@bruncsak , please show us ---
And, you'd be better to show the things above both when the patch has not been applied yet and has already been applied. |
Your httpd looks not yet been configured. At first, please check the configuration to work without multiple component (I guess you have not set ServerName and/or ServerAlias correctly). Please see the documentation. |
Thanks, I found the incorrect configuration. The host part of the |
@bruncsak , thank you for reporting problem and confirming fixes! I'll merge the PR above. |
Our regex for splitting HTTP path into SCRIPT_NAME and PATH_INFO was incorrect when webLocation was set to "/". Since Sympa 6.2.56 this has caused the web interface to return "421 Misdirected Request". Since 6.2.56 Sympa can do the splitting on its own so we can simply remove it from nginx configuration. See also: - sympa-community/sympa#879 - sympa-community/sympa#910 - sympa-community/sympa-community.github.io#53
Our regex for splitting HTTP path into SCRIPT_NAME and PATH_INFO was incorrect when webLocation was set to "/". Since Sympa 6.2.56 this has caused the web interface to return "421 Misdirected Request". Since 6.2.56 Sympa can do the splitting on its own so we can simply remove it from nginx configuration. See also: - sympa-community/sympa#879 - sympa-community/sympa#910 - sympa-community/sympa-community.github.io#53 (cherry picked from commit bd4e4dd)
Our regex for splitting HTTP path into SCRIPT_NAME and PATH_INFO was incorrect when webLocation was set to "/". Since Sympa 6.2.56 this has caused the web interface to return "421 Misdirected Request". Since 6.2.56 Sympa can do the splitting on its own so we can simply remove it from nginx configuration. See also: - sympa-community/sympa#879 - sympa-community/sympa#910 - sympa-community/sympa-community.github.io#53 (cherry picked from commit bd4e4dd)
Version
n/a
Installation method
RPM (EPEL 7)
Expected behavior
wwsympa_url
with multiple component (e.g.http://host.domain/aa/bb
) will be allowed.Actual behavior
It is reported that configuration with mod_proxy_fcgi does not allow such URL: mod_fcgid allows it.
syslog message:
wwsympa[pid_num]: info main:: ... "Unknown action bb"
pop-up message on the web interface:
ERROR(bb) - unknown action
Additional information
Details: https://bugzilla.redhat.com/show_bug.cgi?id=1770783
The text was updated successfully, but these errors were encountered: