We have a force.com site which has a simple lead form. We want to use a custom domain name like https://www.companyname.com/leadform as our url which we can use for marketing. I know we can register a custom domain and point the cname record to the force.com site url. But is it possible for me to have a ssl certification on companyname.com point to salesforce site page? Has any body come up with a solution for secure pages using custom domain like https://www.companyname.com/leadform as an example? Buyan
The answer to this question has changed with the SU14 release. See Configure a Custom Domain for Your Community which provides instructions that primarily involve contacting SF Support and the caveats highlighted below.
To enable HTTPS custom domains for your organization: contact salesforce.com.
To associate certificates with a domain: contact salesforce.com.
From Setup, click Domain Management | Custom URLs. Before you switch the CNAME of your domain name to point to a new target name, ensure that the new target name exists in the DNS by using dig or nslookup. When you created your domain names affects the target of your CNAME:
- Domain names that were added before Summer ‘13, typically need to have their CNAME adjusted to point to the fully qualified domain followed by .live.siteforce.com instead of to the organization’s force.com sub-domain. For example, if your pre-Summer ‘13 domain is www.example.com, then the target of its CNAME will need to be www.example.com.live.siteforce.com instead of example.force.com before HTTPS will work.
- Domain names that were added in or before Summer ‘13, don’t have the 18-character organization ID in the CNAME target.
- Domain names that were added in or after Summer ‘13, already point to the proper place for setting up HTTPS in a custom domain.
- Domain names that were added in or after Winter ‘14, use a CNAME that points to the fully qualified domain followed by your organization’s 18-character ID and .live.siteforce.com. For example, if your domain name is www.example.com and your 18-character organization ID is 00dxx0000001ggxeay, then the target of its CNAME will need to be www.example.com.00dxx0000001ggxeay.live.siteforce.com.
Bunyan, take a look at the Sites FAQ which says the following:
Q: Does it support HTTPS custom URLs (not force.com URLs) with our own certificate?
A: Not at this time
Q: Can i specify my own SSL certificate if i use a CNAME to brand my URL
A: SSL certificates specify an IP address and at the current time we do not provide a feature to host SSL certificates for sites other than the default domain force.com.
From the above, unless something has changed, I'd conclude that at this time it's not possible to do what you desire.
To the contrary of the linked documentation from @crmprogdev, as of at least August 2013 Salesforce does support this scenario.
SFDC Help: Adding a Domain
To associate certificates with a domain: Contact salesforce.com
A couple of key points:
- You must use a CA-Signed certificate
- You must use a CSR generated by Salesforce
- The certificate must be 2048 bits in length
Answers to the questions below
How do I associate our domain which www.companyname.com managed by our infrastructure team to salesforce domain?
This is done using your DNS
CNAME records. Salesforce can provide direction on how the DNS records should be configured.
Are you telling me that if we have a CA signed certificate for our domain, we can easily upload this to salesforce and have force.com site pages display with a custom SSL url like
https:///www.mycompany.com/contactas an example?
A URL like this one:
https:///www.mycompany.com/contact could be handled with the
Site.UrlRewriter interface but if you don't want to implement a UrlRewriter, your page URLs will take on the normal VF path of
https:///www.mycompany.com/apex/contact (where you have a VF page named contact).
Salesforce provides tools for managing certificates within your org. You would use these tools to generate a Certificate Signing Request (CSR) and have that request signed by the CA and then you can upload the certificate into your org.
Can you please explain how this would help to display custom domains with https on force.com sites please?
Per that help document, you can contact Salesforce and they can associate your force.com site with the SSL certificate which you uploaded. After that is complete, your force.com site will be available using your SSL certificate via your custom web address defined on your site.
Private SSL certs don't work. We've been on the road once - did everything as instructed by document: get CSR from SF, cert signed by a CA, uploaded the cert. In the end, it didn't do a thing for the site intended (with the cert URL configured as primary btw and CNAME rediret set up). After a 3 1/2 months case, SF finally said, "nope, feature wouldn't be production available until at least Winter '14". The exact quote from the case owenr was
I just had word with the PM for this feature. They mentioned that the this pilot feature is in hold. They are shooting for the Winter release (safe harbor) to go on a GA ( generally available feature). When this feature becomes public your org will be able to hold the valid SSL certificates for the sites.
Now Spring '14 is almost out, and the feature is still nowhere to be found.
For completeness sake...
create an AWS account and run ngnix in a reverse proxy configuration. Setup your certificate and domain against that IP address and you can then forward website requests to salesforce using SSL and your own domain. It goes against the no hardware stance but since salesforce is a multi-tenant environment and SSL essentially requires a single IP/server per certificate they are going to be hard-pressed to support a large number of SSL custom domains as a general feature.