Jump to content

Cloudflare


Alexwerilles
Go to solution Solved by kirkj,

Recommended Posts

Alexwerilles

Não sei o que posso estar fazendo de errado, pois tenho pouco conhecimento de Linux.

Estou tentando adicionar Cloudflare ao servidor. O domínio já está funcionando no Cloudflare, mas só posso abri-lo com a porta 8920 no final do endereço (https: //****.com: 8920). Se eu digitar apenas o endereço não abre e se eu digitar com a porta 443, ele também não abre.


Achei que a solução seria o redirecionamento de porta, mas fiz o que vi na internet, mas não adiantou

Meu servidor está no Debian.

Link to post
Share on other sites
cayars

8920 is not a valid port for use with Cloudflare. 

If not using 80 & 443 elsewhere on your local network these are the best ports to use.

Here is a list of valid ports you can use with Cloudflare:

HTTP ports supported:

  • 80
  • 8080
  • 8880
  • 2052
  • 2082
  • 2086
  • 2095

HTTPS ports supported:

  • 443
  • 2053
  • 2083
  • 2087
  • 2096
  • 8443
Link to post
Share on other sites

Você pode configurar o Nginx junto com a Cloudflare, e colocar o Emby atrás dele.

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04-pt

https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-18-04-pt

No arquivo de configuração do Nginx, você pode utilizar este exemplo:

server {
    listen 80;
    listen [::]:80;
    server_name seudominio.com;
    return 302 https://$server_name$request_uri;
}

server {

    # SSL configuration

    listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl        on;
        ssl_certificate         /etc/ssl/certs/cert.pem;
        ssl_certificate_key     /etc/ssl/private/key.pem;
        ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
        ssl_verify_client on;

        server_name seudominio.com;

        add_header X-Xss-Protection "1; mode=block" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Strict-Transport-Security "max-age=2592000; includeSubdomains" always;
        add_header X-Frame-Options "SAMEORIGIN" always;
        proxy_hide_header X-Powered-By;
        add_header 'Referrer-Policy' 'no-referrer';
        add_header Content-Security-Policy "frame-ancestors seudominio.com;";

        location / {
                proxy_pass http://127.0.0.1:8096; # Local emby ip and non SSL port

                proxy_hide_header X-Powered-By;
                proxy_set_header Range $http_range;
                proxy_set_header If-Range $http_if_range;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                #Next three lines allow websockets
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
}

 

Utilizo desta forma e funciona bem.

Link to post
Share on other sites
Alexwerilles
On 9/9/2020 at 2:50 PM, cayars said:

8920 is not a valid port for use with Cloudflare. 

If not using 80 & 443 elsewhere on your local network these are the best ports to use.

Here is a list of valid ports you can use with Cloudflare:

HTTP ports supported:

  • 80
  • 8080
  • 8880
  • 2052
  • 2082
  • 2086
  • 2095

HTTPS ports supported:

  • 443
  • 2053
  • 2083
  • 2087
  • 2096
  • 8443

doesn't open with 443. I don't know what to do anymore

Link to post
Share on other sites
Alexwerilles
1 hour ago, kirkj said:

Você pode configurar o Nginx junto com a Cloudflare, e colocar o Emby atrás dele.

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04-pt

https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-18-04-pt

No arquivo de configuração do Nginx, você pode utilizar este exemplo:

server {
    listen 80;
    listen [::]:80;
    server_name seudominio.com;
    return 302 https://$server_name$request_uri;
}

server {

    # SSL configuration

    listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl        on;
        ssl_certificate         /etc/ssl/certs/cert.pem;
        ssl_certificate_key     /etc/ssl/private/key.pem;
        ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
        ssl_verify_client on;

        server_name seudominio.com;

        add_header X-Xss-Protection "1; mode=block" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Strict-Transport-Security "max-age=2592000; includeSubdomains" always;
        add_header X-Frame-Options "SAMEORIGIN" always;
        proxy_hide_header X-Powered-By;
        add_header 'Referrer-Policy' 'no-referrer';
        add_header Content-Security-Policy "frame-ancestors seudominio.com;";

        location / {
                proxy_pass http://127.0.0.1:8096; # Local emby ip and non SSL port

                proxy_hide_header X-Powered-By;
                proxy_set_header Range $http_range;
                proxy_set_header If-Range $http_if_range;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                #Next three lines allow websockets
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
}

 

Utilizo desta forma e funciona bem.

Vou tentar isso. Volto aqui para dizer o resultado

o tutorial server pra qualquer distro?

Edited by Alexwerilles
Link to post
Share on other sites

Sem o Cloudflare, você consegue acessar a página inicial do Nginx pelo seu domínio, via http, sem porta?

Edited by kirkj
Link to post
Share on other sites
Alexwerilles
46 minutes ago, kirkj said:

Sem o Cloudflare, você consegue acessar a página inicial do Nginx pelo seu domínio, via http, sem porta?

vou ver

Link to post
Share on other sites
Alexwerilles
48 minutes ago, kirkj said:

Sem o Cloudflare, você consegue acessar a página inicial do Nginx pelo seu domínio, via http, sem porta?

não, dá ERR_CONNECTION_REFUSED

Link to post
Share on other sites
Alexwerilles
22 minutes ago, kirkj said:

Sugiro que você faça uma instalação limpa do Nginx e veja se consegue acessar a página de teste dele via http.

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04-pt

na primeira tentativa funcionou, abria a pagina de teste. Depois que fiz toda a configuração do Cloudflare não abre mais. Então, eu desativei o Cloudflare, refiz toda a instalação do nginx e mesmo assim a página do nginx não abre mais, também dá ERR_CONNECTION_REFUSED

Link to post
Share on other sites

Ok. Então agora pode seguir com a etapa do Cloudflare. Ao gerar o certificado de origem você vai copiar o conteúdo que a Cloudflare lhe der nos arquivos de configuração do Nginx completamente, inclusive o ----BEGIN CERTIFICATE----- e o -----END CERTIFICATE-----. Atente-se para os caminhos dos certificados no arquivo de configuração do Nginx. O exemplo que dei mais acima não está igual ao que é dado no tutorial da Digital Ocean.

Link to post
Share on other sites
Alexwerilles
23 minutes ago, kirkj said:

Ok. Então agora pode seguir com a etapa do Cloudflare. Ao gerar o certificado de origem você vai copiar o conteúdo que a Cloudflare lhe der nos arquivos de configuração do Nginx completamente, inclusive o ----BEGIN CERTIFICATE----- e o -----END CERTIFICATE-----. Atente-se para os caminhos dos certificados no arquivo de configuração do Nginx. O exemplo que dei mais acima não está igual ao que é dado no tutorial da Digital Ocean.

Certo. Consegui sair daquele problema. o dominio já abre, porém ao invés do Emby, aparece essa mensagem do nginx: 

400 Bad Request

No required SSL certificate was sent

nginx/1.14.2
Link to post
Share on other sites
  • Solution

São três arquivos de certificados a serem copiados no seu servidor e configurados no block server do Nginx. Você fez os três?

ssl_certificate         /etc/ssl/cert.pem;
ssl_certificate_key     /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;

No painel de seu domínio na Cloudflare, em SSL/TLS, na aba Servidor de Origem, deixe a opção "Pulls de origem autenticados" ativada.

Após fazer isso, e se a página de testes carregar normalmente via https, você poderá incluir o bloco de redirecionamento do Emby:

location / {
                proxy_pass http://127.0.0.1:8096; # Local emby ip and non SSL port

                proxy_hide_header X-Powered-By;
                proxy_set_header Range $http_range;
                proxy_set_header If-Range $http_if_range;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                #Next three lines allow websockets
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }

Link to post
Share on other sites
Alexwerilles
Just now, kirkj said:

São três arquivos de certificados a serem copiados no seu servidor e configurados no block server do Nginx. Você fez os três?

ssl_certificate         /etc/ssl/cert.pem;
ssl_certificate_key     /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;

No painel de seu domínio na Cloudflare, em SSL/TLS, na aba Servidor de Origem, deixe a opção "Pulls de origem autenticados" ativada.

Após fazer isso, e se a página de testes carregar normalmente via https, você poderá incluir o bloco de redirecionamento do Emby:

location / {
                proxy_pass http://127.0.0.1:8096; # Local emby ip and non SSL port

                proxy_hide_header X-Powered-By;
                proxy_set_header Range $http_range;
                proxy_set_header If-Range $http_if_range;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                #Next three lines allow websockets
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }

Sim, eu fiz o 3 e "Authenticated Origin Pulls" está ativada

Link to post
Share on other sites
Alexwerilles

Pronto. Agora está funcionando perfeitamente. em SSL, mudei de Full (strict) para Full, depois coloquei Full (strict) de volta.

Correção: Parou de funcionar quando eu mudei para Full (strict). Só funciona em Full agora.

De qualquer forma, muito obrigado kirkj!

Edited by Alexwerilles
  • Like 1
Link to post
Share on other sites
Alexwerilles

Foi bom enquanto durou rs.

 

Estava funcionando muito bem, porém fui ver agora e voltou a aparecer aquela mensagem.

 

400 Bad Request

No required SSL certificate was sent

nginx/1.14.2
Link to post
Share on other sites
Alexwerilles

Pronto, consegui resolver. Era problema com o "Authenticated Origin Pulls", mesmo estando ativado, estava constando como desativado. Era um problema ontem com a Cloudflare. Agora normalizou.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...