<div dir="ltr">Да, забыл написать что в тот клиент использует имя бакета в днс. Не умеет использовать в пути...<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-12-14 15:28 GMT+02:00 Alexandr Porunov <span dir="ltr"><<a href="mailto:alexandr.porunov@gmail.com" target="_blank">alexandr.porunov@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Я же написал что клиент поддерживает только 4 версию. Я не использую клиент на c#. </div><div>Если написать развёрнуто, то вот что я использую:</div><div>Я использую SaltStack.</div><div>SaltStack нуждается в хранилище (он поддерживает разные хранилища: локальная папка, git, s3, azure...).</div><div>Лично мне удобно использовать s3 (локальная папка в моём случае не приемлема).</div><div>Так вот, для того чтобы работать с s3 у них есть специальный модуль s3fs который умеет использовать s3 обьектное хранилище. Этот модуль написан на Python и этот модуль умеет работать только с 4 версией подписи. Там просто не написана логика работы для 2 версии.</div><div>Я не могу перевести клиента на вторую версию по двум причинам:</div><div>1. Нужно переписывать чужой модуль</div><div>2. Я никогда не работал с Python </div><div><br></div><div>Нужно понимать что я не использую <a href="http://s3.amazon.com" target="_blank">s3.amazon.com</a>. У меня своё приватное хранилище которые никоем образом не относиться к амазону. Просто что у этого хранилища точно такое-же API как и у Амазона.</div><div><br></div><div>Единственное решение это настроить Nginx чтобы он правильно проксировал запросы к моему хранилищу. </div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-12-14 14:53 GMT+02:00 Илья Шипицин <span dir="ltr"><<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">14 декабря 2016 г., 17:41 пользователь Alexandr Porunov <span dir="ltr"><<a href="mailto:alexandr.porunov@gmail.com" target="_blank">alexandr.porunov@gmail.com</a>></span> написал:<span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px">Всем привет,<br></div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px">Я хочу использовать Nginx в качестве прокси для S3 совместимого хранилища с 4 версией подписи (Amazon s3 signature version 4).</div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px">Я новичёк в Nginx, но попробую обьяснить что я хочу сделать.</div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px">У меня есть 3 сервера:</div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px"><br></div><div style="color:rgb(0,0,0);font-family:tahoma,arial,verdana,sans-serif;font-size:12px"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><a href="http://mydomain.com/" target="_blank">mydomain.com</a> - публичный сервер с запущенным Nginx</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px">s3storage - приватный сервер с хранилищем с S3 API</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px">client - клиент который хочет использовать S3 хранилище через Nginx (т.е. через домен <a href="http://mydomain.com" target="_blank">mydomain.com</a>). Этот клиент умеет работать только с 4 версией S3 подписи.</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Таким образом клиент отправляет примерно такие запросы к Nginx:</div><div style="font-size:12.8px"> <span style="font-size:12.8px">https://<bucket>.</span><a href="http://mydomain.com/" style="font-size:12.8px" target="_blank">mydomain.com<wbr>/</a><span style="font-size:12.8px"><my_files></span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">где <bucket> - имя бакета и <my_files> - имя файла (если есть).</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Я должен иметь возможность как-то правильно проксировать эти запросы с </span><a href="http://mydomain.com/" style="font-size:12.8px" target="_blank">mydomain.com</a> к <span style="font-size:12.8px">s3storage (у </span><span style="font-size:12.8px">s3storage IP 192.168.0.45</span><span style="font-size:12.8px">).</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Проблема в том что имя бакета находиться в URL, а не в пути. Не понятно как правильно проксировать такие запросы чтобы подпись оставалась целой и чтобы можно было получать файлы с </span><span style="font-size:12.8px">s3storage.</span></div></div></blockquote><div><br></div></span><div>каким образом использовать бакет, в днс или в пути - это на усмотрение клиента, допустимы оба варианта<br><br><a href="http://stackoverflow.com/questions/16938683/" target="_blank">http://stackoverflow.com/quest<wbr>ions/16938683/</a><br><br><br></div><div>(пример для клиента на c#)<br><br><pre class="m_4736505080498510057m_-5033031347945191052gmail-lang-cs m_4736505080498510057m_-5033031347945191052gmail-prettyprint m_4736505080498510057m_-5033031347945191052gmail-prettyprinted"><code><span class="m_4736505080498510057m_-5033031347945191052gmail-pln">    </span><span class="m_4736505080498510057m_-5033031347945191052gmail-typ">AmazonS3Config</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> S3Config </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">=</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-kwd">new</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-typ">AmazonS3Config</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">()</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln">
    </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">{</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln">
        </span><span class="m_4736505080498510057m_-5033031347945191052gmail-typ">ServiceURL</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">=</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-str">"<a href="http://s3.amazonaws.com" target="_blank">s3.amazonaws.com</a>"</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">,</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln">
        </span><span class="m_4736505080498510057m_-5033031347945191052gmail-typ">ForcePathStyle</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">=</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-kwd">true</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">,</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln">
        </span><span class="m_4736505080498510057m_-5033031347945191052gmail-typ">RegionEndpoint</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">=</span><span class="m_4736505080498510057m_-5033031347945191052gmail-pln"> region
    </span><span class="m_4736505080498510057m_-5033031347945191052gmail-pun">};<br><br></span></code></pre><pre class="m_4736505080498510057m_-5033031347945191052gmail-lang-cs m_4736505080498510057m_-5033031347945191052gmail-prettyprint m_4736505080498510057m_-5033031347945191052gmail-prettyprinted"><code><span class="m_4736505080498510057m_-5033031347945191052gmail-pun"><span style="font-family:arial,helvetica,sans-serif">более предсказуемая схема - перевести клиента и сервер на единообразный механизм. иначе подпись будет биться <br>(и не совсем понятно, почему это надо чинить на nginx в транзите)</span><br></span></code></pre><pre class="m_4736505080498510057m_-5033031347945191052gmail-lang-cs m_4736505080498510057m_-5033031347945191052gmail-prettyprint m_4736505080498510057m_-5033031347945191052gmail-prettyprinted"><code><span class="m_4736505080498510057m_-5033031347945191052gmail-pun"><br></span></code></pre><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><div dir="ltr"><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Если кто-то знает как правильно настроить Nginx, то подскажите, пожалуйста</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">С уважением,</div><div style="font-size:12.8px">Александр</div></div>
<br></span>______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailm<wbr>an/listinfo/nginx-ru</a><br></blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailm<wbr>an/listinfo/nginx-ru</a><br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>