I have a IPv6-only host (let's name it S) in my home network which is accessible from outside by its IPv6 address. Since my ISP doesn't provide any IPv4 connectivity, it cannot be accessible from IPv4 networks (e.g. from C). This host offer HTTP and HTTPS services. I have a dual-stack host outside from my home network and I want to use it as a proxy to get IPv4 connectivity to S such that it can be accessible from C. How can I do that?
It depends on the protocol, and you didn't provide much details. Usually something like haproxy will work. There is good documentation for the opposite situation (making content on an IPv4-only server available over IPv6) on the ISOC Deploy360 website that you can use as a starting point. Just reverse the IP addresses.
A simple example based on that documentation:
global user haproxy group haproxy daemon log /dev/log daemon defaults timeout client 5000 timeout connect 5000 timeout server 10000 listen webserver1 bind 192.0.2.1:80 mode tcp server webserver1 2001:db8:abc:123::cafe:80
The IPv4 address is the address of your dual-stack server and the IPv6 address is the address of the IPv6-only server.