How to keep the root Rails 4 app from accepting subdomains? - ruby-on-rails-4

When I originally wrote the API for my website, I wanted to have it as a subdomain like so: api.example.com. That worked. Now I am changing it so api can only work when trying to access it as part of the URLL example.com/api/.... Now this works except locally api.example.com/api... works still. More interesting is the fact that some random subdomain does not work. On the production site though any subdomain works, which is not what I want. Is there a way to ensure that subdomains aren't caught by the root in Rails 4?
As an extra question that hopefully is answered, but doesn't have to be, how can I redirect to another subdomain using the routes. I haven't been able to figure it out and I am wondering if it is possible.

Related

In the context of using ContentBox CMS, where does cb.siteBaseURL get the base url from?

I am running ContentBox on Lucee using CommandBox. In my ContentBox Admin, when I first set it up, I had it running on 127.0.0.1. Later, I created a web.config and updated the host file to use mydomain.com (I am using mydomain.com here as an example. The actual domain name is different). I have restarted the server a few times and even re-initiated a few times. However, cb.siteBaseURL keeps returning 127.0.0.1. My question is, where is cb.siteBaseURL getting the URL from? While I might have overlooked, but I have looked at every field in both Settings and Geek Settings and I don't see anything that have to do with the base URL.
NOTE: I wish I could tag ContentBox. However, it does not currently have a ContentBox tag. To create a new tag, I need 1500 reputation, which I don't have. So, Lucee, CommandBox, and ColdBox are the best ones I can come up with
First of all, we have a dedicated community forum for ContentBox here: https://community.ortussolutions.com/c/communities/contentbox/15
The issue you are experiencing is because ContentBox is multi-site. So each potential host needs to be mapped to the domain in question. Each site has a base url that you must define in order to build links and execute things. So when you install ContentBox, we have no clue which domain you will attach it to, so it defaults to the 127 ip address.
So now that you have a domain, just go to the Sites and update the base url to your domain.

Accessing wildcard page in flask by naked domain from phone redirects to searchvity.com

Hi I'm new at domains and registrars and just stumbled upon a really weird behaviour that I don't know how to tackle.
I built a website with flask (hosted in PythonAnywhere, with domain.com as my registrar). I set things up at domain.com so that the naked domain redirects to the www. version, and it works well for any page in the site that I've defined specifically in my flask like #app.route('/something/').
I had to tweak things a bit so that the naked domain also accepts them without the last slash, like this...
#app.route('/something/')
#app.route('/something')
def something()
# actual code
...but, when I try to access a page that doesn't exist through the naked domain, on computer it doesn't work (404 error, doesn't even show a simple html page) and on my phone it shows a weird random page that after gossiping a bit I realized is by searchvity.com. And I mean, I have absolutely no clue about how on earth that's possible.
Also, the weirdest part of all this is I actually have a route in flask that should manage this (#app.route('/<randomurl>/'), also with and without slash), but as said, that only works when accessing the www. version of the domain.
I know it's kinda a minor issue (since why would anyone try to access on purpose a page that doesn't exist specifically in the naked domain). But it bothers me quite a bit that someone could be redirected to that random site if the conditions are given and they are comming from phone... and in any case it's an issue that shouldn't be there and I don't even know where to start in order to fix it.
EDIT: now apparently the desktop version also shows that same weird page.
EDIT2: The reason I had only 404 on my desktop and not the weird (DNS spoofing?) page was AdBlock.
EDIT3: When the issue happens, the server at pythonanywhere doesn't even see the access data (it's like nothing happened).
Finally I found NakedSSL, which lets you redirect people from your naked domain towards the https version.
I got to add a free SSL certificate on my pythonanywhere page (which is as easy as two clicks), and then on NakedSSL everything is quite straight forward too.
Now I get the proper pages in all the cases (404, wildcard, etc) and there are no more weird spoofing things.

Allow users to add custom domain pointing to a subdomain in my app on Google Cloud Platform

I am trying this since last 2 days.
I build an example app using a very detailed tutorial here - https://john2x.com/blog/wildcard-certs-from-lets-encrypt-cert-manager-ingress-nginx-gke.html
What I have working right now:
I have an app running at demo-app.example.com wherein users can have their own subdomain like john.demo-app.example.com
I got the wildcard certificates working as well
I have two questions now:
1 - How do I allow users to add their custom domain pointing to the subdomain in my app. When I just create a CNAME pointing to a subdomain in my app, it does not work, I think because of how the whole thing is configured.
2 - I want to move from demo-app.example.com to just example.com to the top level, so how should the DNS zone be configured for this?
Finally, given the requirements, is Kubernetes the best I could use or I would be better off using something else. It is a NodeJS app btw.

Zerigo won't map to my naked domain name

I am trying to map my domain name to my heroku app. As it stands now only
www.mysite.com
will work. I want to map it so
mysite.com will work
I am currently using free versions of Heroku and Zerigo and my domain is registered with Hostgator. I have followed all the directions on the heroku site, which have gotten me to the point where www.mysite.com maps to my app but what I want is for
mysite.com
to be mapped to my app. I'v seen the examples that speak of dnssimple etc. But can this be done with Zerigo and if so how. if you click the link from the heroku Custom Domain Names for Apps it takes you to a page with a list of definitions and not how to configure the root domain. I'd appreciate any help. or guidance. Also a lot of what I've been googling for help is 2-3 years older or more. I have just gotten my site live and am new to programming. Thanks
I actually did this a while back but ended transferring to DNSimple (for other reasons). The simplest explanation was actually posted a few hours ago in this thread:
According to https://devcenter.heroku.com/articles/custom-domains you must add a CNAME record like "CNAME www example.herokuapp.com" first at Hostgator. After that, you must add www.example.com (with or without www) as a custom domain to your project. It's really simple.
Source: How do I point my domain name from hostgator to heroku

How to redirect some ip's in django

I thought I stumbled on an answer to this question but now I cannot find it. I am looking to redirect some ip's in my production environment so that all ip's that are not mine will direct to a coming soon type of page.
Any ideas of how to make this happen?
Using nginx/gunicorn just in case it has to be done on that end.