Enable CORS for core translation downloads

Currently CORS isn’t enabled for a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org such as the below.

 https://downloads.wordpress.org/translation/core/6.5/fr_FR.zip

This appears to be because the translation CORS headers are set to builds/(plugins|themes) which doesn’t include coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. (which is in builds/core/$locale.zip

Can we have that (plugins|themes) expanded to (core|plugins|themes) in the wporg_downloads_cors_* maps please?

Reported via https://github.com/WordPress/wordpress-playground/issues/1206

Thanks!

#prio2 #translations #nginx #playground

Redirect *.forums.wordpress.org

It’s time for forums.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ to cease executing bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org.. This is the final component on WordPress.org running bbPress 1.x that I’m aware of. It’s not PHP8 compatible.

The mobile forums were deactivated a year ago, and the locale forums 7 years ago.

I’d personally like to simply remove the forums role and the subdomain entirely, but that’ll break any old links that still remain. For now, can we just cease loading bbPress and instead…

In r20481-dotorg I’ve added a new file, index.php to the forums public_html.

Can we please:
1. Change the root to be ..../public_html/ instead of referencing ..../public_html/bbpress/
2. Remove all bbPress rewrite rules from wporg-forums.wordpress.org, replacing it with a singular rule that directs all traffic to public_html/index.php
3. Add a DNSDNS DNS is an acronym for Domain Name System - how you assign a human readable address to a website’s exact numeric coded location (ie. wordpress.org uses the actual IP address 198.143.164.252). A/CNAME entry for forums.wordpress.org (Apparently this doesn’t have a DNS entry)

#bbpress #nginx #prio2

Remove/Increase showcase rate limits

The showcase currently has a rather low rate limit applied to it. Recently a new showcase design launched (Which included a rewrite of the backend), this should have brought with it a performance boost over the old areas of the showcase which caused performance issues.

The new showcase is reliant upon newer WordPress features, such as the Site Editor which is reliant upon the rest-api, currently these trigger 429 responses pretty quickly due to exceeding the rate limits.

Can we either significantly increase, or remove the rate limits on the showcase please? I would personally suggest removal of the rate limit unless the new design proves to cause issues as previously experienced.

#prio1 #nginx #ratelimit #showcase

trac nginx cache stuck in updating state

The nginx cache for https://core.trac.wordpress.org/ticket/54504 appears to be stuck in an updating state, with 2-day stale content being served.

This isn’t critical, but a sign of an nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. configuration change being needed I guess, or TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. is crashing on an unauthenticated request to that specific ticket consistently which seems unlikely.

$ curl -Is https://core.trac.wordpress.org/ticket/54504 | grep x-nc
x-nc: UPDATING

In the above example, Comments 94-96 are not visible in the cached response (ie. a logged out incognito request), but are for an authenticated user.

Unknown if this affects many URLs, low priority as it seems likely a rare occurence.

#trac #nginx #cache #prio3

Redirect request: {ios,android,iphone}.wordpress.org

Per #meta6530 can we please update the redirects for these subdomains to use the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ mobile landing page instead of the WordPress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ landing page?

Diff form:

Index: wporg-redirects.conf
===================================================================
--- wporg-redirects.conf	(revision HEAD)
+++ wporg-redirects.conf	(working copy)
@@ -120,7 +120,5 @@ server {
 	server_name android.wordpress.org ios.wordpress.org iphone.wordpress.org;

-	rewrite ^/development/? https://apps.wordpress.org/contribute/ permanent;
-	rewrite ^/faq/? https://apps.wordpress.org/support/ permanent;
-	rewrite ^/(.*)$ https://apps.wordpress.org/$1 permanent;
+	return 301 https://wordpress.org/mobile/;
 }

If wanted, we can move this redirect from nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. into PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/preface.php..

#redirects #nginx #prio2

#meta6530

Enable sub-sites for developer.wordpress.org

The developer.wordpress.org host configuration doesn’t support sub-sites right now, this is due to nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. rules such as rewrite ^/(wp-(admin|includes)/.*) /wordpress/$1 break; rather than the sub-site variant of rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(admin|includes)/.*) /wordpress/$2 break;.

While the existing developer.wordpress.org configuration could be updated to match that of the make.wordpress.org configuration, we can just combine them, serving both networks from the existing make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ configuration, with the addition of the developer.wordpress.org domain name in the server_name field. There’s nothing special/unique in either configuration, other than generic WordPress MultisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network. rules.

A working sub-site configuration would return 200 for this request:

$ curl -sI https://developer.wordpress.org/testing-subsites/wp-includes/css/dashicons.min.css
HTTP/2 404
..

#prio3 #devhub #nginx

It looks like WordPress org doesn’t use ALPN…

It looks like WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ doesn’t use ALPN for negotiating the connection encryption. Chrome is dropping support for NPN next month, so it’d be nice if we could upgrade before then.

#nginx

502 Bad Gateway on WordCamp.org Requests

I’m seeing 502 Bad Gateway errors on certain WordCamp.org requests. For example, requesting 30 posts from the JSON API works fine, but requesting 40 doesn’t.

I’ve also seen it happen when connecting Jetpack to WPCOM, but that’s intermittent and I haven’t noticed a pattern yet.

We have use cases where APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. clients will need 75-100 posts. They could make multiple requests, but that would add additional overhead and slow things down on their end.

The nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. logs say, upstream sent too big header while reading response header from upstream, and it sounds increasing the buffer sizes may be all that’s needed to fix it.

#nginx, #wordcamp-org

I have an nginx fix for a fun…

I have an nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. fix for a fun issue that’s breaking Jetpack integration.

https://make.wordpress.org/support/xmlrpc.php isn’t being rewritten to /xmlrpc.php because /support/xmlrpc.php exists (it’s a bbPress file). /support/ is a physical directory that is bypassed for all subdomains, which means we end up rewriting it to index.php and thus a 404 results.

The simple fix appears to be this:


    # make.wordpress.org/support/xmlrpc.php needs to hit /xmlrpc.php.
    # Without this, it targets /support/xmlrpc.php (a bbPress file)
    # which is then denied and we end up with a 404.
    location ~ /xmlrpc.php(?:/|$) {
        include conf.d/php-config;
        rewrite ^ /xmlrpc.php break;
    }

This should go into conf.d/wporg-make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ around line 60. I’m happy to commit this but I wanted review first.

#nginx

Please deploy and reload nginx for wporg web…

Please deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. and reload nginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. for wporg-web. Don’t forget linkprop, as a new file was added. Relevant commits are 5640 and 5642.

#nginx, #request