Você tem dois problemas:
Primeiro você mudou de www.example.pl
para $server_name
(é por isso que o www.
desapareceu).
Em segundo lugar, seu outro bloco de servidor já está manipulando http://www.example.pl
.
Remova o listen 80;
do segundo bloco server
, para que ele manipule somente https
de conexões. Use return 301 https://www.example.pl$request_uri;
para executar o redirecionamento para o esquema e o nome do servidor corretos.
Por exemplo:
server {
listen 80;
server_name example.pl *.example.pl;
return 301 https://www.example.pl$request_uri;
}
server {
listen 443 ssl;
server_name www.example.pl;
...
}