Прокси фунта с несколькими сертификатами SSL

Согласно моему собственному личному опыту (и mod_log страница), можно объявить это в глобальном масштабе (т.е. конфигурация сервера). Таким образом за пределами Вашего VirtualHost, можно использовать:

CustomLog logs/host1-access-log combined env=!image
CustomLog logs/image-access-log combined env=image

Это будет затем относиться ко всему VirtualHosts, если они конкретно не переопределят его.Надеюсь, это поможет!

Править: Я смог успешно выполнить это использование следующей конфигурации (слушающий на портах 81 и 82 для тестирования):

Listen 81
Listen 82

SetEnvIf Request_URI "\.gif$" image
CustomLog logs/image-access-log combined env=image


    ServerName test81
    DocumentRoot /home/apache/test81
    CustomLog logs/host1-access-log combined env=!image


    ServerName test82
    DocumentRoot /home/apache/test82
    CustomLog logs/host1-access-log combined env=!image

Вывод от файлов журнала следующим образом (заметьте двойной вывод к access_log и host1-access-log)

==> /var/log/httpd/image-access-log <==
10.1.2.239 - - [12/Sep/2010:13:23:34 -0400] "GET /image_on_81.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"
10.1.2.239 - - [12/Sep/2010:13:23:42 -0400] "GET /image_on_81.gif HTTP/1.1" 404 213 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"
10.1.2.239 - - [12/Sep/2010:13:23:48 -0400] "GET /image_on_82.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

==> /var/log/httpd/host1-access-log <==
10.1.2.239 - - [12/Sep/2010:13:23:57 -0400] "GET /not_an_image.txt HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

==> /var/log/httpd/access_log <==
10.1.2.239 - - [12/Sep/2010:13:23:57 -0400] "GET /not_an_image.txt HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

Если Вы все еще не можете достигнуть желаемого эффекта, может случиться так, что могут быть другие проблемные области в Вашей конфигурации Apache; если Вы отправляете это также, я уверен, что (или кто-то еще) могу помочь далее.:)

7
задан 11 October 2012 в 20:11
2 ответа

Похоже, я был слишком нетерпелив и недостаточно исследовал, прежде чем опубликовать здесь. Поскольку Паунд поддерживает SSL SNI (для SSLv3), я могу просто использовать несколько операторов «Cert», чтобы указать несколько файлов сертификатов, и Паунд выберет подходящий для входящего запроса.

[Если запрос поступает в Pound через SSL для домена, который я не размещаю и, следовательно, не имею сертификата для него, Pound (по крайней мере, для меня) просто использует первый сертификат в списке, который вызывает браузер чтобы показать ошибку SSL].

SNI поддерживается большинством современных браузеров. Я не думаю, что в последнем квартале 2012 года было слишком много пользователей IE 5 и 6 , например, подоконник;)

Это пример базовой конфигурации, которая работает для меня;

ListenHTTPS
    Address my.public.facing.ip
    Port    443
    Cert    "/etc/ssl/certs/www.sslsite1.com.pem"
    Cert    "/etc/ssl/certs/www.sslsite2.com.pem"

    Service
        BackEnd
            Address 192.168.0.10 # A web server IP
            Port    80
        End
    End
End
11
ответ дан 2 December 2019 в 23:26

У меня есть Pound, который обслуживает несколько разных веб-сайтов SSL, просто используйте отдельные ListenHTTPS для разных сайтов, вот и все.

1
ответ дан 2 December 2019 в 23:26

Теги

Похожие вопросы