Eu configurei meu servidor nginx assim:
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
server_name example.com;
... other things down here..
}
Como posso excluir diretórios do SSL? Por exemplo, em /static/tour tenho um tour explicando o aplicativo da web e não há necessidade de criptografá-lo.
SO: Ubuntu 10.04
Responder1
Acho que você desejará definir outra configuração de servidor para escutar na porta 80, direcionada para a mesma raiz do documento (e certificar-se de que o aplicativo esteja forçando SSL ou não SSL, dependendo do URL que está sendo acessado, para que o usuário possa ' (apenas exclua o 'S' do HTTPS) ou use algo assim:http://ariejan.net/2011/10/22/automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails
Responder2
Isto não será possível. Uma solicitação SSL é criptografada, o que significa que o servidor não pode nem dizer a aparência do URI até depois de descriptografar a solicitação. Não há como dizer ao cliente que ele deve enviar solicitações para um determinado subdiretório usando um protocolo não-SSL.
Como disse o Demelziraptor, você pode configurar dois vhosts, um com SSL na porta 443 e outro sem SSL na porta 80.
Você pode facilmente configurar regras de reescrita para que qualquer solicitação /static/tour
no vhost SSL cause um redirecionamento para a mesma página no vhost não SSL e vice-versa no vhost não SSL para redirecionar de volta para o vhost SSL.