Hi Willy, Emeric

Can you consider this patch? I think it’s safe and it not depend on any openssl 
version.
(It’s possible since patch f6b37c67)

++
Manu


> Le 16 juin 2017 à 10:48, Emmanuel Hocdet <[email protected]> a écrit :
> 
>> Le 15 juin 2017 à 16:42, Simos Xenitellis <[email protected]> a 
>> écrit :
>> 
>> On Mon, Jun 12, 2017 at 5:21 PM, Emmanuel Hocdet <[email protected]> wrote:
>>> In haproxy 1.8dev, default certificate can now be optional.
>>> This patch allow that.
>>> 
>> 
>> Thanks Manu for looking into this.
>> 
>> Here is my use-case:
>> 
>> 1. A "frontend" would bind on port 80 and then look whether a request
>> is from Letsencrypt (URL: ~/.well-known/..). That is, an "http-01"
>> challenge request.
>> If so, it would forward the connection to a backend that deals with
>> certificates (that backend initiated this request in the first place).
>> If it is not an "http-01" challenge request, then it would redirect to https.
>> 
>> 2. Another frontend would bind to port 443, and the "bind" line would
>> have a new keyword like "disable-if-no-certs".
>> If there are no certs yet installed, haproxy would cancel out the
>> whole frontend for port 443 and would not bind port 443.
>> 
>> 
>> Ideally, this would be implemented cleanly if there was a way to simply 
>> specify
>> 
>> use_frontend myhttps if { ssl_certs_exist }
>> 
>> Also, we could then specify to redirect to https (first frontend
>> earlier ) if { ssl_certs_exist }.
>> 
> 
> with this patch you will not need such complicated needs.
> just do:
> bind :443 ssl strict-sni crt /my/cert/directory/
> 
> without this patch you need to have at least one certificate (fake or not)
> 
>> 
>> For this to work, it would require:
>> 
>> 1. Addition of keyboard "use_frontend", just like "use_backend" exists.
>> 2. HAProxy should set "ssl_certs_exist" when it loads up, depending on
>> whether certificates have been found or not.
>> 
>> Simos
>> 
>> 
>>> 
>>>> Le 29 mai 2017 à 11:09, Emmanuel Hocdet <[email protected]> a écrit :
>>>> 
>>>> 
>>>> Hi Simos,
>>>> 
>>>> The workaround is to have a default (fake) certificat in first and use « 
>>>> strict-sni » parameter.
>>>> 
>>>> Manu
>>>> 
>>>>> Le 22 mai 2017 à 10:28, Simos Xenitellis <[email protected]> a 
>>>>> écrit :
>>>>> 
>>>>> Hi All,
>>>>> 
>>>>> I am trying to automate some tasks with adding multiple https
>>>>> (LetsEncrypt) websites,
>>>>> and using HAProxy as a TLS Termination Proxy.
>>>>> 
>>>>> The problem is that when you start off with an empty server, there are
>>>>> no certificates yet,
>>>>> and it is not possible to have "bind *:443 ssl crt
>>>>> /etc/haproxy/certs/..." in haproxy.cfg.
>>>>> 
>>>>> LetsEncrypt can work with http, so it could easily use the "bind *:80"
>>>>> front-end in the beginning.
>>>>> 
>>>>> Is there a way to express "If no certificates are found in
>>>>> /etc/haproxy/certs/, then do not bind *:443"?
>>>>> 
>>>>> Simos
>>>>> 
>>>> 
>>> 
>>> 
> 

Reply via email to