Próbuję odpalić paperclipa z s3. Stworzyłem bucket, użytkownika na aws, dałem mu prawa do s3.
W aplikacji ustawiłem tokeny w config/aws.yml, w development.rb dałem:
Błąd jest na poziomie połączenia tcp więc autoryzacja nie ma tu nic do rzeczy. W sumie to nie pamiętam jak to jest z https na s3. Nie trzeba jakoś ręcznie tego włączać? Nie wymaga to jakiegoś certyfikatu? Popatrz na to:
$ telnet bjjbase.com.s3-website-us-west-2.amazonaws.com 80
Trying 54.231.162.35...
Connected to s3-website-us-west-2.amazonaws.com.
Escape character is '^]'.
$ telnet bjjbase.com.s3-website-us-west-2.amazonaws.com 443
Trying 54.231.162.35...
telnet: connect to address 54.231.162.35: Connection refused
telnet: Unable to connect to remote host
Jak widać dla http jest ok, natomiast na porcie 443 (https) nic nie nasłuchuje (albo blokuje jakis firewall).
Próbowałem także z hostem bjjbase.com.s3.amazonaws.com i dla niego https “działa” (połączenie jest, ale wysyła niepoprawny cerfyfikat).
Ktoś coś pisze o tym, że https działa dla bucketów bez kropek (bo amazon ma wildcarda na *.s3.amazonaws.com). Ktoś inny pisze że za dodatkową opłatą można mieć https dla customowej domeny… Powodzenia.
Wartości ENV podałem przez console heroku, przy innym hostingu byłby to plik secrets.yml. :bucket jest powtórzony, bo w różnych wersjach paperclipa może być inaczej -> a mi się po prostu nie chciało sprawdzać wczoraj o 23:00
Dzięki za pomoc, udało mi się w końcu to odpalić, nie chce mi się już wszystkiego testować ale na 99% wydaje się, że problem był w złym :s3_host_name.
Na wszelki wypadek założyłem nowy bucket bez kropki we Frankfurcie.
I początkowo dałem s3_host_name z panelu AWS , czyli bjjbase.s3-website.eu-central-1.amazonaws.com, dalej było to samo, zmieniłem to na s3.eu-central-1.amazonaws.com i śmiga.
Jeszcze raz, wielkie dzięki za pomoc.