Você pode dividir o bloco do servidor em dois, um para cada porta. Mova a configuração comum para o bloco externo (se esses forem os únicos blocos de servidor que você possui) ou inclua a configuração comum com uma diretiva include
.
Por exemplo:
ssl_certificate /etc/nginx/conf.d/certfile.pem;
ssl_certificate_key /etc/nginx/conf.d/keyfile.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
server {
listen 8080 ssl;
server_name myurl.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name myurl.com;
location / { ... }
}
A diretiva return
não precisa de uma especificação de porta se a https
port for 443
. Se nginx
insistir em adicionar a porta 8080
, tente adicionar uma instrução port_in_redirect off;
.