List of the Experimental Features
Introduction
Starting from the RR v2023.3.4
release, we have introduced a new feature called Experimental Features. This feature allows you to try out new features that are not yet ready for production use.
How to enable experimental features
To enable experimental features, you need to run RR with the -e
(--enable-experimental
) flag. For example:
./rr serve -e
Or:
./rr serve --enable-experimental
List of experimental features
In the v2023.3.5
added experimental support for loading envfiles
in the .rr.yaml
configuration file. .env
file should be in the same directory as the .rr.yaml
file.
Sample .rr.yaml
file:
version: "3"
envfile: .env
Support for the HTTP3 server: [>=2023.3.8]
[>=2023.3.8]
In the v2023.3.8
we added experimental support for the HTTP3 server. It can work with the ACME provider to generate certificates for the HTTP3 server automatically.
Sample .rr.yaml
file:
version: "3"
server:
command: "php worker.php"
relay: pipes
http:
address: 127.0.0.1:15389
pool:
num_workers: 2
http3:
address: 127.0.0.1:34555
key: "localhost+2-key.pem"
cert: "localhost+2.pem"
Or if you use ACME provider:
version: "3"
server:
command: "php worker.php"
relay: pipes
http:
address: 127.0.0.1:15389
pool:
num_workers: 2
http3:
address: 127.0.0.1:34555
key: "localhost+2-key.pem"
cert: "localhost+2.pem"
ssl:
acme:
certs_dir: rr_le_certs
email: you-email-here@email
alt_http_port: 80
alt_tlsalpn_port: 443
challenge_type: http-01
use_production_endpoint: false
domains:
- your-cool-domains.here
You may also generate testing certificates manually and use them in the configuration file. To do that, you may use mkcert or certbot:
mkcert -install && mkcert -client localhost 127.0.0.1 ::1 && mkcert localhost 127.0.0.1 ::1
This command will generate the client and server certificates for the localhost
domain. You may use them in the configuration file:
version: "3"
server:
command: "php worker.php"
relay: pipes
http:
address: 127.0.0.1:15389
pool:
num_workers: 2
http3:
address: 127.0.0.1:34555
key: "localhost+2-key.pem" # <- generated by mkcert: "localhost+2-key.pem"
cert: "localhost+2.pem" # <- generated by mkcert: "localhost+2.pem"
Client certificates might be used in your favorite http3
client. For example, you may use curl3 to test the HTTP3 server:
curl3 --http3 -k --cert localhost+2.pem --key localhost+2-key.pem https://127.0.0.1:34555/
Last updated
Was this helpful?