Sni endpoint error when adding domain (heroku) - heroku

I'm trying to add a custom domain name to my heroku app and I'm seemingly using the correct command to do this, at least according to heroku docs.
heroku domains:add domain.com -a heroku-app
But I'm getting the following error.
Error: Require params: sni_endpoint.
Error ID: invalid params
I was unable to find this error on google in relation to my case. I'd appreciate any assistance with this. Thanks!

SOLVED: I solved the problem updating the heroku cli from 7.59.o to 7.59.2.
In your terminal run:
sudo npm update -g heroku
once updated, I run:
heroku domains:add www.YOURDOMAIN.com --app YOUR_HEROKU_APP_NAME
Example:
Domain www.myverygooddomain.com
My Heroku app name: my-great-app
Command: heroku domains:add www.myverygooddomain.com --app my-great-app

Their documentation and their error reporting is terrible.
Basically, as of Nov 1, 2021, you have to tack on the "--cert" parameter and provide the name of your cert (sni_endpoint).
So, first, manually look up your sni_endpoint(s) by running:
heroku domains --app your-app-name
This will provide of list of all of your current domains/subdomains and the sni_endpoint(s) for each of them.
Then, add your new subdomain with:
heroku domains:add yoursubdomain.yourdomain.com --app your-app-name --cert your_sni_endpoint_name

https://devcenter.heroku.com/changelog-items/1938
Beginning October 31, 2020, API requests to the Domain Create endpoint will accept an additional sni_endpoint parameter. This is a new attribute that can either be:
A reference to a valid SNI endpoint or,
null if the domain should not be associated with an SNI endpoint.
On November 1, 2021, the API will respond with 422 errors if no sni_endpoint parameter is provided.

Related

Error: Missing required flag: -a, --app APP app to run command against

I am new to Heroku and I keep getting the above error - everything looks good to go when I deploy in heroku, connect to my github repo etc.. but I keep getting this error.
Its a node/express app and works exactly as I'd like locally but it won't deploy. Any help would be appreciated.
For getting logs of particular heroku app, use:
heroku logs --app=app_name
For example: your app name is 'chatapp'
heroku logs -app=chatapp
just run the command with the --app flag, followed by the app name.
I like how the --app flag is "mandatory" according to the official documentation, but the lone usage example in the official documentation doesn't use the --app flag.
Anyway, it's not really mandatory. It's just implicit, usually. You have to tell Heroku which app you're using, with something like:
$ heroku git:remote -a your_app_name
and then it stops wondering which app to run these commands on.
you did not set git remote to your application, do that first by,
heroku git:remote -a your_app_name
To expand a little further on this (just for the benefit of other new users encountering a similar issue) - below is an example of a command you could enter in macOS Terminal:
heroku logs --tail --app yourexampleservername
If you have deployed yourexampleservername to Heroku, this should then display a log.

Set domain alias with Heroku

There is a facility in Openshift to assign alias using the command line tool:
rhc alias add myapp www.somwhere.com
Having to point a domain www.somewhere.com's CNAME to myapp-mynamespace.rhcloud.com would be enough to make access to www.somewhere.com go to the Openshift app.
I want to know if there is a facility in Heroku for this?
Answer is yes, https://devcenter.heroku.com/articles/custom-domains
$ heroku domains:add www.example.com

heroku app not found when adding a domain

I would like to add a domain whatever.com to a heroku app that I collaborate on named whatever. When I type $ heroku domains it gives ! App not found.
How can I set the app I want to use, and then have it use $ heroku domains:add whatever.com?
Make sure you're in a directory that is linked to a herkou app if you want to issue commands without specifying an app name. Alternatively, you can add the --app= parameter to your command to explicitly specify the app you want the heroku command to run on.
$ heroku domains:add whatever.com --app=whatever

Domain has already been taken

I have an app on Heroku.
I am trying to do the steps from this tutorial so that my Application has a recognizable domain name.
When I enter the following command (with my own domain) :
heroku domains:add www.example.com
I receive this error message :
Adding www.example.com to fierce-escarpment-8305... failed<br/>
! Domain has already been taken
I don't understand what that means. I cancelled my account on my other hosting service so that I could free my domain name and I reseted my infos with my domain provider so that my domain points to a temp page.
Ok ! So I now understand (I think) what I had to change on my domain provider site. I think my infos are now correct, because I don't have the "! Domain has already been taken" error message.
Now, I have this message :
»heroku domains:add www.math-moi.com
! No app specified.
! Run this command from an app folder or specify which app to use with --app
» heroku domains:add www.math-moi.com --app heroku-fierce-escarpment-8305
Adding www.math-moi.com to heroku-fierce-escarpment-8305... failed
! App not found
Can anyone tell me what I am doing wrong ?
»heroku domains:add www.math-moi.com --app heroku-fierce-escarpment-8305.herokuapp.com
Adding www.math-moi.com to heroku-fierce-escarpment-8305.herokuapp.com... failed
! Resource not found
Still having the error message ...
»heroku domains:add www.math-moi.com --app fierce-escarpment-8305<br/>
Adding www.math-moi.com to fierce-escarpment-8305... failed<br/>
! Domain has already been taken
Try using the domain that you own. The domain example.com is already claimed by someone else and multiple accounts cannot be assigned to the same domain.
heroku domains:add www.example.com
should become:
heroku domains:add www.YOURDOMAINHERE.com

Heroku CLI: How to reference an app by custom domain? (Example in documentation not working)

Heroku's documentation on CLI says to do this (link):
If you have multiple heroku remotes or want to execute an app command outside of a local working copy, you can specify an explicit app name, domain, or git remote as follows:
$ heroku info --app myapp
$ heroku info --app www.example.com
$ heroku info --remote staging
However, I'm unable to get that second one to work. This is what I get:
$ heroku info --app foo
=== foo
[...]
$ heroku domains --app foo
Domain names for foo.herokuapp.com:
foo.example.com
$ heroku info --app foo.example.com
! Resource not found
At the very least, the documentation seems incorrect. But is it possible to reference an app by one of its custom domains another way?
Thanks!
Yep, I concur that - using the latest Heroku CLI all the methods work except using the domain name. Is there a particular reason why you want to use that way if the other ways work for you?

Resources