I did some testing for domain redirects, I think the best way to do a redirect (so you can use https) is using your own server (there might be some places that offer free cloud servers too tho)
first set up a dns record, with a name of @ (the root domain), type of A, and ‘data’ with the server’s public ip address. (there might be an easier way to do this on your domain provider, it just needs to direct the domain to your server with a standard webpage configuration, you might also want to set up www to redirect to the root using a CNAME type record)
then install nginx, put the following in the http section in /etc/nginx.conf:
include/etc/nginx/conf.d/*.conf;
I have the following config for an example redirect server (/etc/nginx/conf.d/test.conf):
server {
listen80;
server_name test.adrian.place;
# Redirect HTTP to HTTPSreturn301 https://xkcd.com$request_uri;
}
server {
listen443 ssl;
server_name test.adrian.place;
http2on;
# Redirect all requests to the target URLreturn301 https://xkcd.com$request_uri;
}
and then enable and start the nginx systemd service, run certbot to set up https, and then reload the service
Edit: If it’s s home server you’ll need to set up port forwarding for 443 and 80 ofc
all my hosting is handled through namecheap right now because i am both lazy and uneducated, BUT i’ve been looking into setting up a home server for unrelated reasons! i will absolutely be circling back to this comment ^^
I did some testing for domain redirects, I think the best way to do a redirect (so you can use https) is using your own server (there might be some places that offer free cloud servers too tho)
first set up a dns record, with a name of @ (the root domain), type of A, and ‘data’ with the server’s public ip address. (there might be an easier way to do this on your domain provider, it just needs to direct the domain to your server with a standard webpage configuration, you might also want to set up www to redirect to the root using a CNAME type record)
then install nginx, put the following in the http section in /etc/nginx.conf:
include /etc/nginx/conf.d/*.conf;
I have the following config for an example redirect server (/etc/nginx/conf.d/test.conf):
server { listen 80; server_name test.adrian.place; # Redirect HTTP to HTTPS return 301 https://xkcd.com$request_uri; } server { listen 443 ssl; server_name test.adrian.place; http2 on; # Redirect all requests to the target URL return 301 https://xkcd.com$request_uri; }
and then enable and start the nginx systemd service, run certbot to set up https, and then reload the service
Edit: If it’s s home server you’ll need to set up port forwarding for 443 and 80 ofc
all my hosting is handled through namecheap right now because i am both lazy and uneducated, BUT i’ve been looking into setting up a home server for unrelated reasons! i will absolutely be circling back to this comment ^^
you can do similar things for free with cloudflare, if you don’t have an aversion to using cloudflare