Newbie questions

I just saw haproxy in proxmox forums. And would like to know if I can use it with web, mail, ftp, ssh servers with more than one domain on each servers.
Is it possible? Any limitations like ssl, ftp passive mode etc?

no one has answered you yet, too bad. I am fairly new to this and not a great person to answer. But what you want to do is probably possible. definitely you can do web, mail, ftp and ssh. According to https://www.mail-archive.com/haproxy@formilux.org/msg14611.html you can do passive ftp easier than active ftp.

The question of more than one domain on each server is not quite clear to me. But yes in your front ends you can filter by domain name requested and send each request to the appropriate backend. If your servers are now working properly with more than one domain, then they should keep working the same.

For SSL you can either terminate ssl at the haproxy and forward the traffic unencrytpted, or you can ssl forward the whole encrypted packets through to the backend servers. or you can do ssl bridging (terminate the ssl, inspect and user headers for filtering and then modify headers as you wish before re-encypting and forwarding on to backend server). Or you can prefilter and do some front ends one way and others another way. The limitation of course with ssl forwarding is you can’t inspect the full header because its encrypted, but you can at least find the domain its requesting using req_ssl_sni which is what I had to do

probably you can get started and post specific questions when you get stuck at some point and hopefully someone who knows me than me will respond

Thank you for your time. I want to give more details on this.
I am using proxmox virtualisation enviroment. I want to create one vm (virtual machine) for haproxy. And other vms with windows - linux machine and they will have many domains like abc.com bcd.com def.com etc. And they all will need to be accessed from internet with rdp, ssh, smtp, imap etc. just like they have public ips.
So I want haproxy to check incoming request like service : port and redirect that request to correct vm (server behind.)

So for this I think I have to use layer 7 mode ?

I think that you may have to do some more studying because your questions are not clear enough to answer.
The best way to get help is to be very specific about your current context.
For example:

This is my input: curl -k https://foo.bar.com/route?query
This is my expected result: ....
Instead I get blah blah

These are my config settings:

block of code