Estou tentando usar ssl em nginx /django em ec2 .
esta é a configuração
server {
listen 443;
ssl on;
ssl_certificate /apps/cert-chain.crt;
ssl_certificate_key /apps/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name mytest.com;
location /static {
alias /apps/static/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_read_timeout 75s;
proxy_connect_timeout 75s;
if (!-f $request_filename) {
proxy_pass http://127.0.0.1:9006;
break;
}
}
}
Recebo o seguinte erro ao iniciar o nginx
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
A porta 443 é uma porta restrita (abaixo de 1024) e só pode ser vinculada por um administrador.
A melhor maneira de lidar com isso é vincular a uma porta diferente (8443 ou algo semelhante) e encaminhar o tráfego de 443 por meio de algo como iptables que é executado como o sistema.