<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3803800</guid>
        <pubDate>Mon, 15 Jul 2019 10:34:42 +0000</pubDate>
        <title>Проблемы с запросами из nginx с сертификатом</title>
        <link>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3803800</link>
        <description><![CDATA[Archelon: Вопрос закрыт. Проблема была в 2-х кривых потоках nginx. Их закрытие и открытие заново решило проблему, но вопрос - почему эти два потока не подхватывали сертификат остался открытым.]]></description>
        <author>Archelon</author>
        <category>HTTP сервера</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3800144</guid>
        <pubDate>Mon, 27 May 2019 09:52:29 +0000</pubDate>
        <title>Проблемы с запросами из nginx с сертификатом</title>
        <link>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3800144</link>
        <description><![CDATA[Archelon: upd<br>
Включил расширенный лог в .php<br>
все неудачные запросы ложатся так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">* &nbsp; Trying (***.***.***.***)...</div><div class="code_line">* TCP_NODELAY set</div><div class="code_line">* Connected to бла-бла-бла-сайт.ru (***.***.***.***) port 443 (#0)</div><div class="code_line">* &nbsp; CAfile: none</div><div class="code_line">&nbsp;&nbsp;CApath: none</div><div class="code_line">* Unable to load client key: Incorrect password</div><div class="code_line">* NSS error -8177 (SEC_ERROR_BAD_PASSWORD)</div><div class="code_line">* The security password entered is incorrect.</div><div class="code_line">* Closing connection 0</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
следом этот же запрос, но уже удачный<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">* &nbsp; Trying (***.***.***.***)...</div><div class="code_line">* TCP_NODELAY set</div><div class="code_line">* Connected to бла-бла-бла-сайт.ru (***.***.***.***) port 443 (#0)</div><div class="code_line">* &nbsp; CAfile: none</div><div class="code_line">&nbsp;&nbsp;CApath: none</div><div class="code_line">* skipping SSL peer certificate verification</div><div class="code_line">* NSS: client certificate from file</div></ol></div></div></div></div><br>
<br>
PS. Сертификат без пароля]]></description>
        <author>Archelon</author>
        <category>HTTP сервера</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3800046</guid>
        <pubDate>Sat, 25 May 2019 08:08:43 +0000</pubDate>
        <title>Проблемы с запросами из nginx с сертификатом</title>
        <link>https://forum.sources.ru/index.php?showtopic=414896&amp;view=findpost&amp;p=3800046</link>
        <description><![CDATA[Archelon: Доброго времени. Такая проблема и не знаю, где копать. Суть проблемы:<br>
Есть БД (oracle), есть переадресующие сервера новый nginx на centos7, старый - apache на SunOS. Т.к. версия oracle некорректно работает с сертификатами (11) и пропатчить её до нужной версии не представляется возможным,то для переадресации xml-запросов из oracle был развёрнут сервер сначала apache (ещё до начала времён), а ныне на замену nginx. Oracle обращается к переадресующему серверу, дёргает .php-скрипт, где прописан curl с опциями и далее в биллинг контрагента. Это общая схема работы, ничего такого военного. Но тут с столкнулся проблемой:<br>
Взял .php скрипты с apache и скопировал на nginx. Есть сервисы, работающие без сертификата, а есть с сертификатом (прописываются в curl_setopt). Допустим синтаксис такой:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">curl_setopt($ch, CURLOPT_URL, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$url);</div><div class="code_line">curl_setopt($ch, CURLOPT_HTTPGET, &nbsp; &nbsp; &nbsp; &nbsp;1);</div><div class="code_line">curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);</div><div class="code_line">curl_setopt($ch, CURLOPT_USERAGENT, &nbsp; &nbsp; &nbsp;&#39;User-Agent=Mozilla/5.0 Firefox/1.0.7&#39;);</div><div class="code_line">curl_setopt($ch, CURLOPT_HTTPAUTH, &nbsp; &nbsp; &nbsp; CURLAUTH_BASIC);</div><div class="code_line">curl_setopt($ch, CURLOPT_HEADER, &nbsp; &nbsp; &nbsp; &nbsp; $head);</div><div class="code_line">curl_setopt($ch, CURLOPT_POST, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1);</div><div class="code_line">curl_setopt($ch, CURLOPT_POSTFIELDS, &nbsp; &nbsp; http_build_query($params));</div><div class="code_line">curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);</div><div class="code_line">curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);</div><div class="code_line">curl_setopt($ch, CURLOPT_SSLCERT, &nbsp; &nbsp; &nbsp; &nbsp;&#39;*полный путь к сертификату*&#39;);</div><div class="code_line">.....</div><div class="code_line">$result=curl_exec($ch);</div><div class="code_line">.....</div><div class="code_line">echo $result;</div></ol></div></div></div></div><br>
Соответственно &#036;result возвращается в oracle и его там обрабатываю. Схема 156% рабочая, пашет на apache не первый год с результатом &quot;отлично&quot;. <br>
С nginx столкнулся с проблемой (я не настраивал сервер, ибо не входит в мои обязанности и знания, я им только пользуюсь), что over 15% &#036;result приходит null, пусто, ни error_log, ни connect_log nginx-а не показывают никаких ошибок. сначала пытался грешить не сертификат, но та же схема на apache работает шикарно. Но другие схемы на nginx без сертификатов так же работают без отказов и null в &#036;result. Понимаю, что скорее всего где-то проблема в каких-то настройках nginx, но не могу допереть - где. Обращения к сотрудникам, кто поднимал сервер nginx не дало никаких результатов, т.к. мне пытались доказать (на основе логов nginx), что сервер работает как часики и проблема в моей базе. никакие аргументы типа &quot;на apache ни одного пустого возвращаемого &#036;result по тому же алгоритму нет&quot; не вразумили.]]></description>
        <author>Archelon</author>
        <category>HTTP сервера</category>
      </item>
	
      </channel>
      </rss>
	