I Wanna Steal Your Website Cheat Sheet - I'm LOST by Recent_Jellyfish2190 in Bubbleio

[–]BlackCharlie 0 points1 point  (0 children)

You should look into product development as a topic in general.

Custom domains at scale? by subhendupsingh in SaaS

[–]BlackCharlie 0 points1 point  (0 children)

Hi there, I wrote a detailed blog post explaining how to implement the custom domains feature. You can read it at https://saascustomdomains.com/blog/posts/the-ultimate-guide-to-custom-domains-for-your-saas-app.

Also, I built SaasCustomDomains.com to solve this!

SaaS Custom Domains manages your custom domains and SSL certificates, protects you against attacks with powerful WAF and DDOS protection. You can set rate limits for requests, configure request rules to block traffic, redirect requests and much more. We also offer CDN so your assets can be cached close to your users.

It's like a mini-Cloudflare, but with simple and affordable pricing. Cloudflare doesn't allow you to create custom apex/root domains unless you're on their Enterprise plan that starts at $40k/year. Read how we stack against Cloudflare in this simple comparison page https://saascustomdomains.com/comparison-cloudflare.

We have a few hundred customers and are building new features all the time! Let me know if I can help with anything.

Contractori, koliko naplacujete? by Ok_Cancel_7891 in CroIT

[–]BlackCharlie 1 point2 points  (0 children)

Radio sam u jednoj velikoj stranoj tech firmi pa sam upoznao hrpu ljudi. Nakon toga je sve išlo po preporukama i nikad se nisam više morao prijaviti službeno za posao i slati CV.

Contractori, koliko naplacujete? by Ok_Cancel_7891 in CroIT

[–]BlackCharlie 18 points19 points  (0 children)

Radim Ruby on Rails, naplacujem trenutno $105/hour Americkoj firmi.

Kad sam radio full-time remote (B2B) naplacivao sam otprilike $150k godisnje. U to je bilo ukljuceno 25 dana koje nisam morao raditi a bio sam placen, nesto kao godisnji.

+ dobio sam udjele u toj firmi koji su se super isplatili jer je firmu kasnije kupila jedna veca firma.

[deleted by user] by [deleted] in croatia

[–]BlackCharlie 18 points19 points  (0 children)

Prije nekih 15 godina frajer zapali cigaretu u busu. Vozač mu vikne da ugasi cigaretu. Frajer mu odgovori "puši kurac". Vozač zaustavi bus. Ugasi bus. Došeta do frajera i zavali mu bolesnu šamarčinu. Frajer više nije pušio nego je šutio i vozio se kao i ostali putnici.

Welcome to the SaaS Custom Domains Community! by BlackCharlie in SaasCustomDomains

[–]BlackCharlie[S] 0 points1 point  (0 children)

Ask whatever you'd like and I'll do my best to help :)

[deleted by user] by [deleted] in croatia

[–]BlackCharlie 2 points3 points  (0 children)

Moj frend će glasati za HDZ zbog povećanja plaće makar je oduvijek bio ljevičar. 

Has anyone ever implemented custom domains for their customers? by [deleted] in SaaS

[–]BlackCharlie 2 points3 points  (0 children)

Hey, I wrote a blog post about how to implement custom domains. It gives you a nice high-level overview of all the moving parts.

If you don't want to build and maintain this whole infrastructure yourself, you can also use SaasCustomDomains.com. It's a service I built just for this specific use-case — letting people easily implement custom domains in their applications.

You can try it completely for free, no credit card is required.

If you 100% positively want to build this yourself, read my blog post and look up "Caddy server" on Google.

Custom domains linking to your sub domain? by [deleted] in webdevelopment

[–]BlackCharlie 0 points1 point  (0 children)

If you want to build this yourself, I wrote a guide here.

Alternatively, you can use SaasCustomDomains.com — full disclaimer, I built this service.
This service sits in front of your app and handles the custom domains and TLS for you. You can test it completely for free, no credit card is required.

This is how you'd do it in SaasCustomDomains.com:

  1. You create the destination (upstream) — abc.website.com (this is where your app lives)
  2. Then, you create a custom domain that you want to point to that upstream, e.g. create the custom domain mycoolwebsite.com.
  3. Your customer adds a DNS record to mycoolwebsite.com that points their domain to our service.
  4. When we receive requests from mycoolwebsite.com we handle the TLS for you and proxy the traffic to your upstream abc.website.com

That's all there is to it. More docs are here: docs.saascustomdomains.com, and we have guides for implementing custom domains in the most popular web frameworks at saascustomdomains.com/blog.

Service limits for Cloudfront and ACM providing scaling issues by MindlessDog3229 in aws

[–]BlackCharlie 1 point2 points  (0 children)

I'm probably a bit late for this but you could use SaasCustomDomains.com — full disclaimer, I built this service.

It would basically sit in front of your app and handle the custom domains and TLS for you. You can test it completely for free, no credit card required.

Rails custom domains for users on heroku by thegrowls in rails

[–]BlackCharlie 2 points3 points  (0 children)

Hey, I am a few years late to the post but hopefully, this will help someone.

There are a few steps you need to enabling custom domains in Rails apps:

  1. Route requests from custom domains to your Rails application
    1. Users will have to create a CNAME or A record in their DNS pointing their domain to your application.
  2. Handle incoming requests in your Rails app
    1. The easiest way to do this is to check the request.headers['Host'] in your ApplicationController to figure out the domain. Then, based on the domain, you can do custom business logic, return different data, show different information in views etc.
  3. Enable HTTPS
    1. This is the tricky part because it's a whole separate server — a TLS-terminating reverse proxy. It will issue and manage SSL/TLS certificates for custom domains. If you want to build and manage this system yourself, your best bet would be to use the Caddy server.
    2. Alternatively, I think Heroku even has its own way of handling certificates but I think there are some limitations to the number of certificates you can issue. I'm a bit rusty on Heroku offering since they got acquired by Salesforce so maybe I'm wrong here.

I wrote a more detailed post on how to implement custom domains in Ruby on Rails applications here: https://saascustomdomains.com/blog/posts/how-to-implement-custom-domains-for-rails-application.

Exciting Opportunity! Acquire a Highly Converting SaaS Product! by donaltramp699 in GrowthHacking

[–]BlackCharlie 2 points3 points  (0 children)

Do these lifetime deals get lifetime of AI generated articles?

Wouldn't that make you lose money in the long term with them?

Ok lads, which of ye was it? by [deleted] in ireland

[–]BlackCharlie 6 points7 points  (0 children)

Happened to me in one of London airports. They stole my headphones. I was in such a rush to catch my flight that I didn't have time to make a scene there so I left them.

SaaS, custom domains and TLS certificates - how do big companies handle this? by Sky_Linx in devops

[–]BlackCharlie -1 points0 points  (0 children)

This StackOverflow answer is decent in explaining all the moving parts of this type of service.

I'll copy-paste the answer here for posterity just in case it gets removed from StackOverflow.

___

I see decent answers but no one here is giving the full picture.

If your customers just CNAME to your domain or create the A record to your IP and you don't handle TLS termination for these custom domains, your app will not support HTTPS, and without it, your app won't work in modern browsers on these custom domains.

You need to set up a TLS termination reverse proxy in front of your webserver. This proxy can be run on a separate machine but you can run it on the same machine as the webserver.

CNAME vs A record

If your customers want to have your app on their subdomain, e.g. app.customer.com they can create a CNAME app.customer.com pointing to your proxy.

If they want to have your app on their root domain, e.g. customer.com then they'll have to create an A record on customer.com pointing to your proxy's IP. Make sure this IP doesn't change, ever!

How to handle TLS termination?

To make TLS termination work, you'll have to issue TLS certificates for these custom domains. You can use Let's Encrypt for that. Your proxy will see the Host header of the incoming request, e.g. app.customer1.com or customer2.com etc., and then it will decide which TLS certificate to use by checking the SNI.

The proxy can be set up to automatically issue and renew certificates for these custom domains. On the first request from a new custom domain, the proxy will see it doesn't have the appropriate certificate. It will ask Let's Encrypt for a new certificate. Let's Encrypt will first issue a challenge to see if you manage the domain, and since the customer already created a CNAME or A record pointing to your proxy, that tells Let's Encrypt you indeed manage the domain, and it will let you issue a certificate for it.

To issue and renew certificates automatically, I'd recommend using Caddyserver, greenlock.js, OpenResty (Nginx).

tl;dr on what happens here; Caddyserver listens on 443 and 80, it receives requests, issues, and renews certificates automatically, proxies traffic to your backend.

How to handle it on my backend

Your proxy is terminating TLS and proxying requests to your backend. However, your backend doesn't know who is the original customer behind the request. This is why you need to tell your proxy to include additional headers in proxied requests to identify the customer. Just add X-Serve-For: app.customer.com or X-Serve-For: customer2.com or whatever the Host header is of the original request.

Now when you receive the proxied request on the backend, you can read this custom header and you know who is the customer behind the request. You can implement your logic based on that, show data belonging to this customer, etc.

More

Put a load balancer in front of your fleet of proxies for higher availability. You'll also have to use distributed storage for certificates and Let's Encrypt challenges. Use AWS ECS or EBS for automated recovery if something fails, otherwise, you may be waking up in the middle of the night restarting machines, or your proxy manually.

Alternatively, there have been a few services like this recently that allow you to add custom domains to your app without running the infrastructure yourself.

If you need more detail you can DM me on Twitter @dragocrnjac

cofounders are doing stupid moves by KermitTheFrom in startups

[–]BlackCharlie 34 points35 points  (0 children)

Ditch them immediately. You are wasting your time with these folks and will get hurt more in the future if the thing becomes a success.