Olá Senhores, bom dia
Estou usando vraptor rodando no tomcat , minha app faz download através do FileDownload do vraptor, conforme abaixo:
return new FileDownload(file, "application/pdf", "relatorio_", true);
Usando o https no ie que devo homologar aparece um erro e não deixa fazer o download , mas no http funciona normalmente.
Fiz um redirect do http para o https no meu tomcat, conforme abaixo:
<Connector
port="80"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"
minSpareThreads="100"
maxSpareThreads="100"/>
<Connector
port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="meu_arquivo.pfx"
keystorePass="senha"
keystoreType="meu_ky_store_type"/>
Erro > "Não é possível baixar meu relatorio de meu host.com.br "
Alguém sabe o que pode ser e como posso resolver isso?
Obrigado.
lelodois, olá td bem?
vc conseguiu sumir com a tela de “Esta conexão não é confiável” utilizando 1 certificadossl??
obrigado,
att,
[quote=pedruhenrik]lelodois, olá td bem?
vc conseguiu sumir com a tela de “Esta conexão não é confiável” utilizando 1 certificadossl??
obrigado,
att,[/quote]
Sim, com cadeado e tudo.
O redirect resolveu isso para mim
Alguém tem idéia de como posso resolver isso?
deve ser alguma trava do IE pra não deixar abrir pdfs de sites não confiáveis…
tenta adicionar o certificado do seu site no IE (ou pedir pra ele ignorar isso)
[quote=Lucas Cavalcanti]deve ser alguma trava do IE pra não deixar abrir pdfs de sites não confiáveis…
tenta adicionar o certificado do seu site no IE (ou pedir pra ele ignorar isso)[/quote]
Mas é uma app que será disponibilizada na internet, assim teria que configurar o ie dos meus clientes.
Vc sabe se teria como fazer isso via app?
Obrigado.
se o certificado for válido e confiável, vc não precisa configurar nos seus clientes.
tenta ver se o problema de não dar pra fazer o download é por causa do certificado mesmo…
nos outros browsers funciona?
[quote=Lucas Cavalcanti]se o certificado for válido e confiável, vc não precisa configurar nos seus clientes.
tenta ver se o problema de não dar pra fazer o download é por causa do certificado mesmo…
nos outros browsers funciona?
[/quote]
Sim, no chrome e no firefox funcionam normalmente.
O certificado está como válido e inclusive adicionei ele na lista de “sites confiáveis” do ie, mas mesmo assim não funciona.
Acredito que seja por causa do https mesmo, pois o download funciona normalmente se eu usar o http sem o redirect.
Vlw
que redirect vc está fazendo? http => https?
[quote=Lucas Cavalcanti]que redirect vc está fazendo? http => https?
[/quote]
Sim… tudo que cai no http vai para o https.
inclusive o download? ou seja, o link pro download está em http ou https?
Tudo vai para o https, inclusive o download.
O redirect eu fiz direto no server do tomcat.
Http:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"
minSpareThreads="100"
maxSpareThreads="100"/>
Https:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="arquivo.pfx"
keystorePass="senha"
keystoreType="pktype"/>
Vc faria diferente?
Você está “setando” alguma header antes do download, por exemplo, headers de no-cache? O IE não gosta disso quando você vai disponibilizar um download.
Sim…
Tenho um interceptor que seta os seguintes atributos…
response.setHeader("Expires", "Wed, 31 Dec 1969 21:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");
Posso testar, mas tenho que tirar o cache dos meus jsps…
E o engraçado é que em http o ie faz o download normalmente, mas em https não…
Sim…
Tenho um interceptor que seta os seguintes atributos…
response.setHeader("Expires", "Wed, 31 Dec 1969 21:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");
Posso testar, mas tenho que tirar o cache dos meus jsps…
E o engraçado é que em http o ie faz o download normalmente, mas em https não…[/quote]
Showwwww garcia, resolvido!
Era cache mesmo.
Meu interceptor ficou assim: (Quando o retorno do vraptor é fileDownload eu não limpo o cache)
if (this.limparCache(method) == true) {
response.setHeader("Expires", "Wed, 31 Dec 1969 21:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");
}
private boolean limparCache(ResourceMethod method) {
boolean valor = true;
if (method != null && method.getMethod() != null && method.getMethod().getReturnType() != null)
valor = method.getMethod().getReturnType().toString().contains("FileDownload") == true;
return !valor;
}
Obrigadãooo pessoal, vlw.
Abraços.
Muito boa a solução.
O Lucas pode me corrigir se eu estiver errado, mas você não precisa de todos esses ifs, ja que method e method.getMethod nunca são nulos, e o mesmo vale para o getReturnType(). Eu faria algo assim apenas:
o isAssignableFrom é ao contrário
Download.class.isAssignableFrom(method.getMethod().getReturnType());
lelodois
Fevereiro 24, 2011, 10:16am
#17
Valeu pessoal.
Obrigadão, valeu pelas dicas!
Mais que resolvido!
abraços, tenham um bom dia.
lelodois ! [resolvido] no título
Abraço !
jr
ops…
pensei que já tinha colocado rs
Edit…
na verdade coloco o [Resolvido] mas não aparece…
estranho…
vlw
diminui o tamanho do titulo !