View Issue Details

IDProjectCategoryView StatusLast Update
4982Composrcorepublic2022-10-20 20:34
ReporterChris Graham Assigned ToGuest  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Summary4982: Maximise parity of web server configuration recommendations
DescriptionFor Apache we have recommended.htaccess and .htaccess files strewn around for optimal configuration. Apache is our only fully supported web server software, and this is not set to change. But we can try and be more helpful for users of other web server software. None of the .htaccess file stuff currently done for Apache is actually NEEDED, but it adds another layer of security, better caching, etc.

RECOMMENDED.HTACCESS:

Go through all our recommended.htaccess and write up good default configurations that mirror as much as possible for:
 - LiteSpeed (should be compatible already, but check what is supported on https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:config and see if we can tweak to be more compatible)
 - IIS (we already have web.config), enhance it as much as possible)
 - Nginx (see 4981 for rewrite rules, otherwise we need to provide more details for the example config)
Some stuff will be Apache-specific in the sense we would not need to mirror it for another server.
Document what we'd like to do but can't for whatever manual configuration would need doing by hand.

STREWN FILES:

Broadly approach as follows:
 - LiteSpeed: check compatibility again and tweak if possible
 - IIS: make a new command-line tool (should not run over web interface), /build_iis_config.php. This should traverse the directory structure, recognising .htaccess files by hash and outputting web.config files to sit alongside them. Document the tool.
 - Nginx: make a new command-line tool (should not run over web interface), /build_nginx_config.php. This should traverse the directory structure, recognising .htaccess files by hash and outputting config rules for adding to the main nginx config in addition to the rules coming from the documented config. Document the tool.
Some stuff will be Apache-specific in the sense we would not need to mirror it for another server.
Document what we'd like to do but can't for whatever manual configuration would need doing by hand.
Additional InformationThese are what the individual .htaccess files do...

Many files strewn around:
 Completely block all HTTP requests

uploads/*/.htaccess:
 Disable any kind of server-side CGI/scripting via blocking handlers
 Disable JavaScript etc via HTTP headers

data*/images/.htaccess, uploads/.htaccess
 Long-life cache settings for non-changing files (images)

themes/*/images*/.htaccess
 Disable any kind of server-side CGI/scripting via blocking handlers
 Disable JavaScript etc via HTTP headers
 Long-life cache settings for non-changing files (images)

themes/*/templates_cached/.htaccess
 Disable any kind of server-side CGI/scripting via blocking handlers
 Long-life cache settings for non-changing files (CSS/JS)
 Serve pre-compressed CSS/JS files if they exist and the client accepts Gzip or Brotli

data_custom/.htaccess
 Block specific patterns of log and config files [already mirror for IIS in web.config, but would be better moved to be a dedicated web.config in the data_custom directory]
TagsNo tags attached.
Attach Tags
Time estimation (hours)12
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 4981 Not AssignedGuest Documented nginx rewrite rules 

Activities

There are no notes attached to this issue.

Add Note

View Status
Note
Upload Files
Maximum size: 32,768 KiB

Attach files by dragging & dropping, selecting or pasting them.
You are not logged in You are not logged in. This means you will not get any e-mail notifications. And if you reply, we will not know for sure you are the original poster of the issue.

Issue History

Date Modified Username Field Change
2022-10-20 20:28 Chris Graham New Issue
2022-10-20 20:29 Chris Graham Relationship added related to 4981
2022-10-20 20:34 Chris Graham Additional Information Updated