Используя клиентские сертификаты с wget

Аппаратные средства являются столь дешевыми в эти дни, что все больше немного людей даже переходят к сути дела, где им нужна больше чем одна машина. 10 000$ купят Вас:

  • 16-32GB из RAM;
  • 2 четырехъядерных Xeon;
  • Дисковый массив RAID5.

Такая машина может служить более чем 10 000 параллельных пользователей на даже мягко оптимизированном сайте для всех кроме большинства интенсивно использующих ресурсы приложений.

В основном существует два подхода к масштабируемости:

  • Вертикальный: в основном покупая самую большую машину Вы можете так Вы не нуждаться больше чем в одном;
  • Горизонтальный: выполнение вещей способом, который предоставляет себя параллелизму. Только необходимый на самом интенсивном из приложений.

Взгляд на StackOverflow: в основном работавший веб-сервер плюс сервер базы данных и это делает сверх 6 миллионов хитов в месяц.

Однако масштабируемость о нахождении и обращении к Вашему узкому месту.

  • Если Ваша база данных замедляется, вещи вниз или дают ей больше ресурсов или используют некоторую форму кэширования в оперативной памяти для снимания загрузки;
  • Если диск, ввод-вывод является Вашей проблемой затем то же, применяется;
  • Если у Вас заканчивается память до такой степени, когда, она вызывает слишком много отсутствий страницы и таким образом вызывает диск проблема ввода-вывода, добавьте больше памяти;
  • Ваше приложение и это являются данными, предоставляют себя разделению через серверы? Если так, это - один способ масштабироваться горизонтально;
  • Если пропускная способность является проблемой, и Вы поставляете большие файлы затем, возможно, CDN является ответом;
  • И так далее.

В конечном счете, хотя, 100k хиты/месяц не является настолько большим. Я подозреваю, что в эти дни на типичном веб-сайте необходимо было бы добраться вне 10 миллионов/месяц, прежде чем у Вас были настоящие проблемы, предполагая, что Вы не делаете вещей плохо (например, если Вы не индексируете свои поиски базы данных затем, конечно, то у Вас будут проблемы с этим, но они не имеют отношения к хитам/месяц).

Я сказал бы, что дублирование является намного большей головной болью, чем масштабируемость. Проблемы, вовлеченные в наличие резервных каналов, процессов контроля для системного отказа, наличия и поддержания DR (аварийное восстановление) сайт, заниматься проблемами, которое влечет за собой (как кластеризация мозга разделения), и т.д. являются намного более трудными и утомительными.

8
задан 18 August 2011 в 22:48
6 ответов

Вы уверены, что клиентская аутентификация сертификата SSL работает против Вашего сервера?

Я просто протестировал это, я могу взять свой сертификат (в формате PKCS12), преобразовать его в сертификат и файл ключей в формате PEM и использовать его с wget очень хорошо.

Я могу вызвать три состояния ошибки, ни одно из которых не соответствует тому, о чем Вы сообщаете:

  1. отказ обеспечить мой файл ключей: 400 Плохих Запросов
  2. обеспечение плохого ключа: EVP_DecryptFinal_ex:bad дешифруют от OpenSSL
  3. обеспечение действительного сертификата, который не любит сервер: 403 запрещенных

Я использую nginx; Вы не упоминаете то, что Вы используете, таким образом, я не уверен, возвратил ли Apache те же ответы.

Я предложил бы брать Ваш сертификат и ключ, комбинируя его в PKCS12 (или просто импорт его как PEM если Ваша поддержка браузера формат) и удостоверившись, что все работает над той передней стороной сначала.

Если Вы уже сделали это, возможно, можно попытаться от другой машины удостовериться, что это не что-то странное с версией OpenSSL, который Вы используете.

Наконец, попытайтесь использовать OpenSSL в s_client режиме:

openssl s_client -cert cert.pem -key req.pem -connect host:port -debug

И посмотрите, работают ли вещи на том уровне. Если так, затем что-то - wonky с wget, и Вы могли бы хотеть восстановить или переустановить его. В противном случае уровень вывода отладки может помочь Вам точно определить проблему больше, чем вывод отладки wget был бы.

4
ответ дан 2 December 2019 в 22:53
  • 1
    Я попробовал все Ваши предложения: 1. Сертификат хорошо работает в FF 3.5 2. Сервер: Apache 2.2.11, Openssl 0.9.8i, Клиент Windows Server 2003: WGET 1.11.4, OpenSSL 0.9.8k (двоичный файл), XP SP3 3 Победы. От другой машины: тот же результат 4. Я получил сертификат от Comodo. Сертификат и ключ все в одном. Я попробовал следующее: openssl s_client - сертификат cert.pem openssl s_client - сертификат cert.pem - ключ key.key (извлеченный из сертификата) openssl s_client - сертификата cert.pem - ключ copyofcert.pem (Продолженный в следующем комментарии) –   13 October 2009 в 22:07
  • 2
    Все дали тот же error:< br> ошибка, устанавливающая частный key< br> 8584:error:0B080074:x509 certificate< br> routines:X509_check_private_key:key values< br> Заметьте что это другая ошибка затем выше mismatch:.\crypto\x509\x509_cmp.c:399: –   13 October 2009 в 22:10

Это - возможный wget, соединяется с портом 80? Та ошибка очень похожа на ошибки, которые я получаю в тестировании, когда у меня случайно был HTTP, слушая 80, и 443-wget пытался говорить SSL и не получал ответ, который это хотело.

0
ответ дан 2 December 2019 в 22:53
  • 1
    Нет. URL находится в сценарии, таким образом, это всегда - то же. И когда я тестирую с клиентским автором прочь, но https на, это работает. –   12 October 2009 в 22:10

Получите сбор сетевых данных и загрузите его в Wireshark. Это должно дать Вам более четкое изображение того, что перестало работать на уровне SSL/TLS.

0
ответ дан 2 December 2019 в 22:53

Я успешно использовал wget как это:

"C:\program files\GnuWin32\bin\wget" --no-check-certificate --certificate=C:\Users\Alex\xxx.pem --private-key=C:\Users\Alex\xxx.pem --input-file=retain.url --output-document=retain.xml

Отметьте --private-key option. retain.url имеет https://bla.bla.bla

Однако это теперь предлагает мне с, "Вводят пароль PEM":.

Если я ввожу пароль, он работает хорошо, но кто-либо знает путь вокруг подсказки?

2
ответ дан 2 December 2019 в 22:53

Я изучал это неделю, в конце концов, с помощью, полученным с этой страницы.

Для подключения я использовал следующую команду:

wget --ca-cert=/etc/ssl/certs/winhostname.pem --certificate=/etc/ssl/private/linuxhost.pem \
     --private-key=/etc/ssl/private/linuxhost.key https://winhostname.home.net:8443/winhosturl.asmx
7
ответ дан 2 December 2019 в 22:53

Были проблемы с SSLv3 в версиях как 0.9.8.

Попытайтесь передать-no_ticket openssl s_client или если-ssl2 работают

0
ответ дан 2 December 2019 в 22:53

Теги

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