Base de Conhecimento

Adicionar recurso CDN HTTP PULL com configurações avançadas  Imprimir este Artigo

Adicionar recurso CDN HTTP PULL com configurações avançadas

Para criar um recurso HTTP com configurações avançadas, use a seguinte solicitação:

POST /cdn_resources.xml

POST /cdn_resources.json

 

Exemplo de solicitação XML:

curl -i -X POST -H 'Accept: application/xml' -H 'Content-type: application/xml' -u user:userpass --url http://onapp.test/cdn_resources.xml -d '<cdn_resource><resource_type>HTTP_PULL</resource_type><cdn_hostname>PI-HTTPPULCDNresource.com</cdn_hostname><origin>109.123.105.178</origin><cdn_ssl_certificate_id>ssl_sert_id</cdn_ssl_certificate_id><edge_group_ids type="array"><edge_group_id>225</edge_group_id></edge_group_ids><secondary_hostnames type="array"><secondary_hostname>test110.com</secondary_hostname><secondary_hostname>test220.com</secondary_hostname></secondary_hostnames><ip_access_policy>BLOCK_BY_DEFAULT</ip_access_policy><ip_addresses>111.111.11.111,222.222.22.222</ip_addresses><country_access_policy>ALLOW_BY_DEFAULT</country_access_policy><countries type="array"><country>AL</country><country>GT</country></countries><hotlink_policy>ALLOW_BY_DEFAULT</hotlink_policy><domains>abuse.co.ua abuse.org</domains><url_signing_on>1</url_signing_on><url_signing_key>12345qwertyyu</url_signing_key><cache_expiry>45</cache_expiry><password_on>1</password_on><form_pass><user type="array"><string>user123new</string><string>user234new</string></user><pass type="array"><string>passw123new</string><string>passw234new</string></pass></form_pass><password_unauthorized_html>YOU ARE NOT AUTHORIZED</password_unauthorized_html><flv_pseudo_on>1</flv_pseudo_on><mp4_pseudo_on>0</mp4_pseudo_on><cors_on>1</cors_on><limit_rate>150</limit_rate><limit_rate_after>1</limit_rate_after><proxy_cache_key>$host$uri</proxy_cache_key><proxy_read_time_out>60</proxy_read_time_out><proxy_connect_time_out>20</proxy_connect_time_out><http_bot_blocked>1</http_bot_blocked><origin_policy>HTTP</origin_policy></cdn_resource>'

 

Exemplo de solicitação JSON:

curl -i -X POST -H 'Accept: application/json' -H 'Content-type: application/json' -u user:userpass --url http://onapp.test/cdn_resources.json -d '{"cdn_resource":{"resource_type":"HTTP_PULL","origin":"109.123.105.178","cdn_hostname":"jsonPI-HTTPPULCDNresource.com","cdn_ssl_certificate_id":"ssl_cert_id","edge_group_ids":["225"],"secondary_hostnames":["name11.co","name22.co"],"ip_access_policy":"ALLOW_BY_DEFAULT","ip_addresses":"111.111.11.111,222.222.22.222","country_access_policy":"BLOCK_BY_DEFAULT","countries":["AL","AR","GT","HR"],"hotlink_policy":"ALLOW_BY_DEFAULT","domains":"mnw.netggl.com","url_signing_on":"1","url_signing_key":"12345sfdfdsfsd","cache_expiry":"45","password_on":"1","form_pass":{"user":["user190","user278"],"pass":["pass123","pass2348"]},"password_unauthorized_html":"<b>You are blocked!</b>","mp4_pseudo_on":"1","mp4_pseudo_on":"1","flv_pseudo_on":"1","cors_on":"1","ignore_set_cookie_on":"1","limit_rate":"150","limit_rate_after":"1","proxy_cache_key":"$host$uri","proxy_read_time_out":"60","proxy_connect_time_out":"20","http_bot_blocked":1,"origin_policy":"HTTP"}}'

Onde:

origem * - o caminho a partir do qual a CDN solicita o conteúdo. Ao usar os nomes de host de acordo com a RFC 1035, a origem pode consistir em letras [A-Z a-z] (maiúsculas e minúsculas), dígitos [0-9] e traço [-]. O limite para o nome do host é de 255 caracteres. Você pode especificar até 3 origens.

Quando você está especificando apenas uma origem, pode ser um nome de host da CDN ou um endereço IP. Caso você esteja especificando mais de uma origem, eles podem ser apenas endereços IP.

 

Para enviar duas ou mais origens na solicitação da API, use array. Por exemplo:

<origins type="array">

    <origin>111.111.11.111</origin>

    <origin>111.111.11.111</origin>

</origins>

 

cdn_hostname * - indica o nome do host que servirá conteúdo estático. Especifique o seguinte nome de domínio de quarto nível para este parâmetro para criar um recurso com SSL ativado: "example.r.worldssl.net", onde substitua o exemplo pelo nome desejado.

ssl_on - defina como 'true' para ativar o SSL, caso contrário, defina como 'false'. Veja a nota abaixo para mais informações.

 

SSL

Se o nome do host da CDN terminar com '.r.worldssl.net', o SSL será ativado automaticamente.

Para desativar, remova a finalização '.r.worldssl.net' e envie o parâmetro "ssl_on": false. Para habilitar, adicione o '.r.worldssl.net' terminando no cdn_hostname e envie o parâmetro "ssl_on": true.

Lembre-se de que, se o nome do host da CDN terminar com 'r.worldssl.net', ele não poderá ser apenas um dígito (por exemplo, 123456.r.worldssl.net não é aplicável).

resource_type * - HTTP_PULL

cdn_ssl_certificate_id - o ID do certificado SSL SNI customizado que você deseja adicionar ao recurso. Você deve especificar apenas os IDs desses certificados que foram adicionados pelo usuário ao qual o novo recurso será associado.

letsencrypt_ssl_on - defina como true para ativar o recurso Let's Encrypt SSL para o recurso

edge_group_ids * - indica o ID (s) dos grupos de borda CDN necessários

primary_hostnames - uma matriz de nomes de host CDN secundários. Você pode adicionar até 7 nomes de host CDN secundários. Por exemplo:

 

<secondary_hostnames type="array">

<secondary_hostname>test100.com</secondary_hostname>

<secondary_hostname>test200.com</secondary_hostname>

</secondary_hostnames>

 

ip_access_policy - configure uma regra para controlar o acesso ao conteúdo do recurso CDN para um intervalo de endereços IP:

ALLOW_BY_DEFAULT - permite política de acesso IP por padrão, exceto para endereços IP especificados no parâmetro ip_addresses

BLOCK_BY_DEFAULT - bloqueia a política de acesso IP por padrão, exceto os endereços IP especificados no parâmetro ip_addresses

NONE - desative a política de acesso IP

ip_addresses - endereços IP relacionados ao parâmetro ip_access_policy; A lista separada por vírgula de endereços IP ou intervalos de IP permitidos / bloqueados por padrão. Use o seguinte formato "10.10.10.10, 20.20.20.0/24"

hotlink_policy - configure as propriedades da política de hotlink para proteger seu conteúdo contra hotlinks não autorizados:

ALLOW_BY_DEFAULT - permite a diretiva de hotlink por padrão, exceto para os domínios especificados no parâmetro domains

BLOCK_BY_DEFAULT - bloqueia hotlink_policy por padrão, exceto para os domínios especificados no parâmetro domains

NONE - desligue a regra

domínios - domínios relacionados ao hotlink_policy

hls_on - defina 1 para ativar a otimização do HTTP Live Streaming (HLS)

hls_force_cache - defina como 1 para criar uma regra HTTP que imporá a validade do cache. Esta opção está disponível apenas quando o parâmetro hls_on está definido como 1

country_access_policy - configure uma regra para controlar o acesso ao conteúdo do recurso CDN para países especificados:

ALLOW_BY_DEFAULT - permite a política de acesso ao país por padrão, exceto para os países especificados no parâmetro countries

BLOCK_BY_DEFAULT - bloqueia a política de acesso ao país por padrão, exceto para os países especificados no parâmetro countries

NONE - desative a política de acesso ao país

países - códigos de países, relacionados a country_access_policy no formato ISO 3166-1 alfa-2

cache_expiry - define o tempo de expiração do cache em minutos (min = 1, max = 35000000)

url_signing_on - defina 1 para ativar e proteger seus arquivos contra acesso não autorizado com uma chave

url_signing_key - insira a chave para assinatura de URL. Insira letras e dígitos (6-32 símbolos).

password_on - configure 1 para ativar e restringir o acesso ao recurso (cdn_hostname), caso contrário, defina 0

form_pass - uma matriz com nomes de usuário e senhas para acessar o recurso

pass - a senha do usuário.

usuário - o login do usuário, que pode consistir em letras [A-Z a-z] (maneira que não diferencia maiúsculas de minúsculas), dígitos [0-9], sublinhado [_] e traço [-]. O primeiro símbolo deve ser alfabético. O nome de usuário não pode ser duplicado.

password_unauthorized_html - texto, que será exibido em caso de falha na autenticação. Máximo de 1000 caracteres.

mp4_pseudo_on - defina 1 para ativar o pseudo streaming de MP4, caso contrário defina 0

flv_pseudo_on - defina 1 para ativar o pseudo streaming de FLV, caso contrário defina 0

(ideia) cors_on - defina 1 para habilitar o compartilhamento de recursos de origem cruzada (CORS), caso contrário defina 0

ignore_set_cookie_on -set 1 para ativar o cache de conteúdo com os cabeçalhos de resposta Set-Cookie, caso contrário, defina 0 para ignorar o cache de conteúdo

 

Configurações do Nginx

limit_rate - define o limite de velocidade de uma resposta para um cliente (por solicitação) em KB / s. Valor máximo da taxa limite - 2147483647 KB / s

limit_rate_after - define a quantidade após a qual a velocidade de uma resposta a um cliente será limitada em KB. Taxa limite máxima após o valor -2147483647 KB

proxy_cache_key - especifique a chave para armazenamento em cache. Este parâmetro define quais informações estão incluídas na chave de cache. Você pode definir as seguintes opções:

$ host $ request_uri

$ host $ uri

$ proxy_host $ request_uri

$ proxy_host $ uri

http_bot_blocked - defina 1 para impedir que os robôs de rastreamento da Web indexem o conteúdo da CDN (apenas para recursos HTTP Pull CDN)

origin_policy - defina o parâmetro para escolher o tipo de conexão. Os valores possíveis são: HTTP, HTTPS, AUTO.

 

Resposta

Você receberá uma resposta composta por duas partes - o cabeçalho com o código de status HTTP e o corpo da resposta, incluindo os parâmetros. Nesta fase, alguns dos parâmetros podem estar vazios. Esse é o comportamento esperado, porque o processo completo de criação leva algum tempo e o serviço remoto não pode preencher os parâmetros no momento. Para a lista completa de parâmetros, use a solicitação GET.

Exemplo de resposta XML:

HTTP/1.1 201 

Date: Wed, 31 Jul 2013 09:19:55 GMT

Server: Apache/2.2.3 (CentOS)

X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.17

X-UA-Compatible: IE=Edge,chrome=1

ETag: "915066feccf0b14edaa50af485b3b705"

Cache-Control: max-age=0, private, must-revalidate

X-Request-Id: f48bc47604a5784aafc5f98dab733465

X-Runtime: 0.387472

X-Rack-Cache: invalidate, pass

Set-Cookie: _session_id=2cc141e9002d8d3df5c4033dbda2a090; path=/; HttpOnly

Location: http://onapp.test/cdn_resources/10743

Status: 201

Content-Length: 797

Connection: close

Content-Type: application/xml; charset=utf-8

 

<?xml version="1.0" encoding="UTF-8"?>

<cdn_resource>

  <cdn_hostname>PI-HTTPPULCDNresource.com</cdn_hostname>

  <cname></cname>

  <created_at type="datetime">2013-07-31T12:19:55+03:00</created_at>

  <id type="integer">10743</id>

  <resource_type>HTTP_PULL</resource_type>

  <updated_at type="datetime">2013-07-31T12:19:55+03:00</updated_at>

  <user_id type="integer">20</user_id>

  <last_24h_cost type="float">0.0</last_24h_cost>

  <cname></cname>

  <cdn_reference type="integer">431059243</cdn_reference>

  <secondary_hostnames type="array">

    <secondary_hostname>test100.com</secondary_hostname>

    <secondary_hostname>test200.com</secondary_hostname>

  </secondary_hostnames>

  <origins type="array">

    <origin>111.111.111.1</origin>

  </origins>

  <ssl_on nil="true"/>

</cdn_resource>

 

 

Esta resposta lhe foi útil?

Artigos Relacionados

CDN - Configuração
CDN – Configuração Via Painel CL9   Conforme explicado em artigo anterior, já sabemos...
CDN - VoD - Live Streaming - Conceitos
CDN - Content Delivery Network   CDN é abreviação de Content Delivery Network (ou Rede de...
CDN - Guia da API
CDN - GUIA DA API A API permite a integração na nuvem com aplicativos de terceiros. Este guia é...
Criar Recurso CDN HTTP
  Criar Recurso CDN HTTP Para adicionar um recurso HTTP CDN: Vá para o menu Recursos do CDN do...
CDN - Instruções de Upload
  Instruções de upload Aqui está a lista de instruções para o upload de arquivos e incorporação...