Мне разместили веб-сайт на 2 серверах. Веб-сайтом является базирующийся SSL.
Я хотел бы контролировать (загрузите основную страницу и ищите определенную строку), веб-сайт на сервер с помощью локального Opsview. При значении я должен пойти Файл hosts Opsview и добавить "domain.com 10.10.10.33" и изменить его каждый раз для соответствия правильному серверу. Я, очевидно, наклоняюсь, пишут сценарий этого, поскольку результаты, очень вероятно, будут скошены во время проверки.
Есть ли своего рода поисковый робот для Linux, это способно к взятию IP-адреса, доменного имени, и работайте их вместе? Я попробовал и завихрение - прокси и wget - заголовок напрасно.
В конце концов я нашел решение, не отменяя предупреждения о сертификации и т. Д.
Для этого требуется последняя версия CURL 7.37.1
Правильный синтаксис:
curl --resolve yourdomain.com:443:se.rv.er.ip https://yourdomain.com
Многие HTTP-серверы SSL не заботятся о том, какой заголовок Host: предоставляется, поэтому простой запрос https: // $ ipaddress / foo должен работать , если вы можете убедить клиента (например, wget) игнорировать несоответствие CN сертификата.
В противном случае попробуйте что-нибудь вроде:
(echo -e 'GET /foo HTTP/1.0\r\nHost: domain.com\r\n\r'; sleep 2) | openssl s_client -connect 10.10.10.33:443 | grep "a certain string"
Имя хоста не требуется. , вы можете подключиться, используя только IP-адрес, и передать домен, используя curl
.
curl -k -H "Host: your-domain-name" https://ip-of-server/someURL
-k
заставит cURL игнорировать ошибки сертификата, -H
поставлю хост, а curl скачает результат. Вы можете передать его через awk
, grep
или любой другой инструмент, который у вас есть.
Вы пробовали использовать curl для подключения к IP-адресу и перезаписи хоста? -
curl -H 'Host: domain.com' http://10.10.10.33/