this post was submitted on 10 Jun 2023
4 points (100.0% liked)

Self Hosted - Self-hosting your services.

11440 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

Cross-posting

If you see a rule-breaker please DM the mods!

founded 3 years ago
MODERATORS
 

Hi guys, would be happy to receive some input on my current problem. I spun up my own Lemmy instance yesterday using the ansible playbook on newly set up VPS with it's own IPv4. Since I also had an unused domain I choose to use it exclusively for Lemmy. I therefore set the domain in the hosts file to exactly that one. I created the follwing DNS entries in Cloudflare for it:

  • A Record with name www pointing towards the ip
  • A CName pointing the domain without subdomain towards the www.subdomain.de thing

Both without a activating their proxies. As soon as I'm activating their proxies my instances becomes unreachable and if I'm calling www.my-domain.de I'm seeing an Nginx error page. Is there a smart way anyone of you knows how I could setup my dns records in a way that I'm able to use Cloudflare proxies to kinda encapsulate my vps a bit more?

EDIT: I got it solved, first on, I was most probably an idiot when setting the SSL settings. I could be possible that I changed them for the wrong domain. So in the end I did two things. First on I changed the CNAME thing into another A record pointing directly towards the server ip. I suspect this was not the root cause. Because after changing the DNS settings I discovered that again the SSL settings were set to Flexible this is basically a setting where Cloudflare assumes you are somehow unable to get your own SSL certificate on your server and therefore only the traffic between the users browser and them is encrypted but the traffic towards your server is not. That was most probably the main reason since this should cause an infinite forwarding of Cloudflare trying http but my server was redirecting them to https (for more info see here). I set it to Full (strict) meaning now all the traffic is encrypted using my certificate.

After both changes it works now, and when pinging the url some random Cloudflare IP shows up and "my" ip is hidden.

Old DNS settings: Old DNS settings

New DNS settings: New DNS settings

EDIT 1: Changed the title from xyz (SOLVED) to [SOLVED] xyz

you are viewing a single comment's thread
view the rest of the comments
[–] ture@rational-racoon.de 1 points 1 year ago

I got it solved, I'll write a better summary in a edit for the post above.

Regarding your question, **Error logs: ** There was no error msg in the backend logs on the (got it solved before digging more into the nginx, front end or what ever logs). Imho the request anyway never reached the server so there should have been no msg. But since I'm earning my money as a dev and not as a (dev)ops, and just operate such things on a hobby base I'm not 100% sure. Also the browser just showed lots of status 301 and using ping I just got timeouts.

What do I mean by proxies? Yeah I mean these Cloudflare caching and whatsoever magic proxy thing that also hides your ip and exposes some Cloudflare IP instead. Makes it e.g. impossible to just do smth like ssh root@your.domain.

CNAME Yes it's against RFC to CNAME an APEX domain, you kinda can do this in Cloudflares UI but it's not actually doing it under hood. It uses CNAME flattening which causes Cloudflare to directly return the IP you're pointing to.

For the final solution see above, will post an edit in a few minutes.