LINUX.ORG.RU

История изменений

Исправление MariaRTI, (текущая версия) :

В данном примере я не делаю GET запросов, только POST. При этом, как я только что написал, браузер почему то НЕ делает OPTIONS запрос, судя по тому, какие запросы приходят на сервер. Звездочку я пишу, т.к. запросы могут приходить со множества клиентов, у которых множество оригинальных серверов (например, в датацентре или в компании) и у каждого может быть свой домен. Поэтому, конкретный домен original я указать не могу, но могу указать единственный домен сервера upserver (на клиенте или original-серверах), который известен всем. Клиентский код присутствует на всех узлах.

Сейчас добавил DELETE на сервере,

options(Req, Opts) ->
    %%Req0 = cowboy_req:set_resp_header(<<"access-control-max-age">>, <<"1728000">>, Req),
    Req1 = cowboy_req:set_resp_header(<<"access-control-allow-methods">>, <<"HEAD, OPTIONS, GET, PUT, POST, DELETE">>, Req),
    Req2 = cowboy_req:set_resp_header(<<"access-control-allow-headers">>, <<"Origin, X-Requested-With, Content-Type, Accept, x-client-key, x-client-token, x-client-secret">>, Req1),
    Req3 = cowboy_req:set_resp_header(<<"access-control-allow-origin">>, <<"*">>, Req2),
    {ok, Req3, Opts}.

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

=NOTICE REPORT==== 23-Nov-2021::11:07:32.934745 ===
TLS server: In state wait_finished received CLIENT ALERT: Fatal - Certificate Unknown

файлы приходят после этих ошибок.

Странно, сертификаты я создавал много раз, по проверенным инструкциям, но все они самоподписанные. Есть мнение, что только КУПЛЕННЫЕ у коммерческого центра сертификации корневые сертификаты сделают цепочку сертификатов валидной. Неужели нет способа это обойти для локальных проектов, использующих SSL/TLS? Кормушка мля какая-то.

Может быть сертификаты немного неправильно созданы или неправильно подключены? Есть мысли на этот счет?

Исходная версия MariaRTI, :

В данном примере я не делаю GET запросов, только POST. При этом, как я только что написал, браузер почему то НЕ делает OPTIONS запрос, судя по тому, какие запросы приходят на сервер. Звездочку я пишу, т.к. запросы могут приходить со множества клиентов, у которых множество оригинальных серверов (например, в датацентре или в компании) и у каждого может быть свой домен. Поэтому, конкретный домен original я указать не могу, но могу указать единственный домен сервера upserver (на клиенте или original-серверах), который известен всем. Клиентский код присутствует на всех узлах.

Сейчас добавил DELETE на сервере,

options(Req, Opts) ->
    %%Req0 = cowboy_req:set_resp_header(<<"access-control-max-age">>, <<"1728000">>, Req),
    Req1 = cowboy_req:set_resp_header(<<"access-control-allow-methods">>, <<"HEAD, OPTIONS, GET, PUT, POST, DELETE">>, Req),
    Req2 = cowboy_req:set_resp_header(<<"access-control-allow-headers">>, <<"Origin, X-Requested-With, Content-Type, Accept, x-client-key, x-client-token, x-client-secret">>, Req1),
    Req3 = cowboy_req:set_resp_header(<<"access-control-allow-origin">>, <<"*">>, Req2),
    {ok, Req3, Opts}.

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

=NOTICE REPORT==== 23-Nov-2021::11:07:32.934745 ===
TLS server: In state wait_finished received CLIENT ALERT: Fatal - Certificate Unknown

файлы приходят после этих ошибок.

Странно, сертификаты я создавал много раз, по проверенным инструкциям, но все они самоподписанные. Есть мнение, что только КУПЛЕННЫЕ у коммерческого центра сертификации корневые сертификаты сделают цепочку сертификатов валидной. Неужели нет способа это обойти для локальных проектов, использующих SSL/TLS? Кормушка мля какая-то.