Из вопроса не очень понятно, чего именно вы хотите добиться
Если вы пытаетесь вывести десятичные числа, я бы написал
printf("%013d",a);
0
-It Left -дополняет число нулями вместо пробелов
Если вы пытаетесь напечатать символы, я бы написал
printf("%*s",13,"string which needs to be printed")
Здесь мы указываем длину символов, которые должны быть напечатаны как целочисленный аргумент для printf (), *
заменяется как переданный аргумент
У вас должно быть два виртуальных хоста на обратном прокси-сервере. Я бы рекомендовал удалить глобальные директивы proxypass на обратном прокси и указать их для каждого виртуального хоста.
Виртуальный хост на порту 80 должен перенаправляться на порт 443 того же хоста (areverseproxy.example.com )так же, как вы сделали это на внутреннем сервере. Тем не менее, никто больше не должен входить в порт 80 на бэкэнде, если вы правильно настроите обратный прокси-сервер, если только бэкэнд не доступен через Интернет.
Виртуальный хост на порту 443 должен иметь конфигурацию обратного прокси.
На обратном прокси должно быть что-то вроде этого:
<VirtualHost *:80>
ServerName areverseproxy.example.com
ServerAlias areverseproxy
Redirect permanent / https://192.168.56.71
ErrorLog "/var/log/httpd/areverseproxy.example.com-error_log"
CustomLog "/var/log/httpd/areverseproxy.example.com-access_log" common
</VirtualHost>
<VirtualHost *:443>
ServerName areverseproxy.example.com
ServerAlias areverseproxy
ErrorLog "/var/log/httpsd/areverseproxy.example.com-error_log"
CustomLog "/var/log/httpsd/areverseproxy.example.com-access_log" common
SSLEngine on
SSLCertificateKeyFile conf/ssl.key/areverseproxy.example.com.key
SSLCertificateFile conf/ssl.crt/areverseproxy.example.com.crt
SSLProxyEngine on
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
SSLProxyCheckPeerName off
ProxyRequests off
ProxyPreserveHost on
ProxyPass / https://192.168.56.70:443/
ProxyPassReverse / https://192.168.56.70:443/
</VirtualHost>
Вероятно, у вас нет действительного сертификата HTTPS на внутреннем хосте. Поэтому вам нужны директивы SSLProxyCheck*
. Если на бэкенде есть действительные сертификаты с именами, то директивы SSLProxyCheck*
можно удалить, но в этом случае директивы ProxyPass
и ProxyPassReverse
должны указывать не на IP-номер, как в примере, а на имя хоста из сертификат.
Вам также может не понадобиться HTTPS между proxyreverse и серверной частью, если они находятся в одной и той же защищенной сети. Если это не так, сохраните HTTPS между обратным прокси-сервером и серверной частью для защиты трафика.
Помните, что клиенты будут взаимодействовать только с обратным прокси-сервером, поэтому важно, чтобы у вас были правильные сертификаты HTTPS для обратного прокси-сервера, а не для серверной части.