SSL certificates in Plesk - ssl

There seems to be two places in PLESK to add SSL certificates. One location is under Domains
and another under Tools and Settings.
What is the purpose of the first versus the second location?

Both locations in PLESK (v12) accomplish the exact same thing. The one added benefit to adding the SSL under the domain name is accessing the IP address via HTTPS (answer from hosting company).
I hope it helps someone in the future.

Related

Plesk: SSL Issue on shared IP Hosting with multiple Domains

this one is driving me mad - hopefully anyone of you can help.
I ordered a cloud server with intention of running multiple customer sites on one server/one ip. Everything is working fine so far, but Im having troubles with SSL.
I added 2 Domains (Domain a, Domain b) via Plesk Panel and installed basic ssl certificates which are working perfectly fine. Both Domains can be accessed via https:// and in the broswer both certificates are shown as valid / secure
Problem: Im getting SSL Issues / Warnings when connecting to the domains mailboxes -> to secure the Plesk Panel a self-signed Certificate was pre-installed.
When I exchange the Plesk self-signed certificate to a certificate for Domain a, Domain a mailboxes are working perfectly fine - but not for Domain b. (obviously). What certificate do I need to install to secure the Plesk Panel and which does not cause any problems with all underlying Domains & their mailboxes?
Will creating a certificate for the servers IP address will do the trick? Is this accepted, even possible or will it result in another warnings? If yes, do I need to create a certificate for xx.xxx.xxx.xxx or xx.xxx.xxx.xxx:8443?
Or is there any other option for running multiple domains on one shared ip?
Any help/guidance is very much appreciated!
Thanks!
Did you mean something like mail.domainb.com or autodiscover.domainb.com for mailbox? Then make sure you have valid SSL certificate for them also not only for mail domain. As far as I know you would not be able to get third-party certificate on IP addresses.
Sorry if I have guessed wrong.

Integrating ssl to shared hosting server

I own a domain name from godaddy.
Now, I want to host the domain with SSl support.
Is it possible to get hosting and ssl certificate from two different vendors and then integrate them with my domain as i am going to have shared hosting.
Please check answer here
https://serverfault.com/questions/405750/godaddy-ssl-on-shared-hosting
Yes, you can buy domain name and SSL from two different vendors.
Note: Please must mentioned the exact domain name when buying the SSL certificate.
Please check the following also,
http://www.webhostinghero.com/install-godaddy-ssl-certificate-on-cpanel/

SSL Certificate on a parked sub domain owend by someone else?

Maybe it is just impossible but I have the following question :
I own an domain for example : mydomain.com . On that domain I take a wildcard SSL. So far no problem. And that domain is running on a server with online software on a sub domain for example soft.mydomain.com.
Now I have customers for that software, and I want to customize the software to their subdomains for example soft.customer1.com and soft.customer2.com.
I can do this by letting them make a DNS A record pointing to my servers IP and I park then the domains onto my subdomain soft.mydomain.com (Tested that and it works).
The question is now : Can I also take a SSL certificate on soft.customer1.com and soft.customer2.com. So that at least I also have a secure connection when for example soft.customer1.com/login.php is used.
If possible who has to request the actual SSL certificate in that case.
Also I have full access to WHM and cpanel, running a VPS.
I understand that I could use customer1.mydomain.com/login.php , but I wonder if it just would be possible to do what I suggest.
And also it recommended to work in this way ?
Thanks upfront.
Regards,
Peter
Different domains can exist on a single SAN/UC certificate. Take a look at http://www.ssl.com/certificates/ucc to learn more about this certificate type.
It sounds like you have all the pieces except for this particular certificate. I hope it helps.

How to add SSL to subdomain that points to a different server?

I've got a webserver that has a single domain SSL certificate: https://secure.example.com
I also have a couple of subdomains that point to different servers:
http://www.example.com, which points to the main server.
http://subdomain.example.com which points to a completely different server.
What is the best way to add SSL to the subdomain https://subdomain.example.com
Is it possible to configure something like this with a wildcard certificate? Or is it better to purchase another single-domain certificate and install it on the seperate server?
You can get a wildcard cert but that is probably more expensive than you need and you'd need to copy your private key to each server -- which really is not recommended unless you are a crypto expert. You are better off simply purchasing two more certs for the two additional machines.
Wild card certificates only cover domains on the same server. I believe it's because the key used in the certificate is tied back to the server.
If you want to add a certificate for sites on other servers you will need specific certificates for those server/domain combinations.

HTTPS Certificate for internal use

I'm setting up a webserver for a system that needs to be used only through HTTPS, on an internal network (no access from outside world)
Right now I got it setup with a self-signed certificate, and it works fine, except for a nasty warning that all browsers fire up, as the CA authority used to sign it is naturally not trusted.
Access is provided by a local DNS domain name resolved on local DNS server (example: https://myapp.local/), that maps that address to 192.168.x.y
Is there some provider that can issue me a proper certificate for use on an internal domain name (myapp.local)? Or is my only option to use a FQDN on a real domain, and later map it to a local IP address?
Note: I would like an option where it's not needed to mark the server public key as trusted on each browser, as I have not control over workstations.
You have two practical options:
Stand up your own CA. You can do it with OpenSSL and there's a lot of Google info out there.
Keep using your self-signed cert, but add the public key to your trusted certs in the browser. If you're in an Active Directory domain, this can be done automatically with group policy.
I did the following, which worked nicely for me:
I got a wildcard SSL cert for *.mydomain.com (Namecheap, for example, provide this cheaply)
I created a CNAME DNS record pointing "mybox.mydomain.com" at "mybox.local".
I hope that helps - unfortunately you'll have the expense of a wildcard cert for your domain name, but you may already have that.
You'd have to ask the typical cert people for that. For ease of use I'd get with the FQDN though, you might use a subdomain to your already registered one: https://mybox.example.com
Also you might want to look at wildcard certificates, providing a blanket cert for (e.g.) https://*.example.com/ - even usable for virtual hosting, should you need more than just this one cert.
Certifying sub- or sub-sub domains of FQDN should be standard business - maybe not for the point&click big guys that proud themselves to provide the certificates in just 2 minutes.
In short: To make the cert trusted by a workstation you'd have to either
change settings on the workstations (which you don't want) or
use an already trusted party to sign your key (which you're looking for a way around).
That's all your choices. Choose your poison.
I would have added this as a comment but it was a bit long..
This is not really an answer to your questions, but in practice I've found that it's not recommended to use a .local domain - even if it's on your "local" testing environment, with your own DNS Server.
I know that Active Directory uses the .local name by default when your install DNS, but even people at Microsoft say to avoid it.
If you have control over the DNS Server you can use a .com, .net, or .org domain - even if it's internal and private only. This way, you could actually buy the domain name that you are using internally and then buy a certificate for that domain name and apply it to your local domain.
I had a similar requirement, have our companys browsers trust our internal websites.
I didnt want our public DNS to issue public DNS for our internal sites, so the only way to make this work that I found was to use an internal CA.
Heres the writeup for this,
https://medium.com/#mike.reider/getting-firefox-chrome-to-trust-your-internal-websites-internal-certificate-authority-a53ba2d4c2af
i think the answer is NO.
out-of-the-box, browsers won't trust certificates unless it's ultimately been verified by someone pre-programmed into the browser, e.g. verisign, register.com.
you can only get a verified certificate for a globally unique domain.
so i'd suggest instead of myapp.local you use myapp.local.yourcompany.com, for which you should be able to get a certificate, provided you own yourcompany.com. it'll cost you thought, several hundred per year.
also be warned wildcard certificates might only go down to one level -- so you could use it for a.yourcompany.com and local.yourcompany.com but maybe not b.a.yourcompany.com or myapp.local.yourcompany.com, unless you pay more.
(does anyone know, does it depend on the type of wildcard certificate? are sub-sub-domains trusted by the major browsers?)
Development purpose only
This docker image solves the problem (thanks to local-ip.co): https://github.com/medic/nginx-local-ip.
It launches a reverse proxy in the port 443 with a public cert that works with any *.my.local-ip.co domain. Eg. your local IP is 192.168.10.10 → 192-168-10-10.my.local-ip.co already points to it (it's a public domain)! Assuming the app is running in your computer at the port 8080, you only need to execute this to proxy pass your app and expose it at the URL https://192-168-10-10.my.local-ip.co:
$ APP_URL=http://192.168.10.10:8080 docker-compose up
The domain is resolved with any public DNS you have configured in the devices where you want to access the app, but your traffic keeps local between your app and the client (through the proxy), so you can even use it to connect with devices within the same LAN network, without any of the traffic going out to internet, all the traffic is local.
The reason that is mostly useful for development is that anybody can launch an application with this same certificate, so is not really secure, but helpful when you need to expose your app with HTTPS while developing or testing (e.g. HTML5 apps in Android that are loaded with Webview).