Então eu estava tendo um problema em que eu tinha configurações aparentemente idênticas do nginx em hosts idênticos, mas estava trabalhando em um e não em dois outros. Essencialmente tentando se conectar via https causou uma conexão recusada em 2 dos servidores, mas o outro funcionou bem. Isso estava claramente acontecendo no nível do nginx, já que os pedidos não estavam chegando ao processo rodando atrás do nginx e consertando o problema do nginx conf.
nginx.conf:
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
client_max_body_size 50M;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
configuração da porta 80 em sites habilitados:
server {
listen [::]:80;
server_name [my_domain].com [hostname].[subdomain].com;
location / {
return 301 https://$server_name$request_uri;
}
}
configuração da porta 443 nos sites habilitados:
server {
listen 443 default_server ssl;
listen [::]:443 ssl;
server_name [my_domain].com [hostname].[subdomain].com;
ssl_certificate /etc/ssl/certs/nginx/[certname].pem;
ssl_certificate_key /etc/ssl/certs/nginx/[certname]-key.pem;
root /var/www/[document root]/;
index index.html;
location /api {
proxy_pass http://127.0.0.1:[internal port];
}
location /web {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:[internal port];
}
location / {
try_files $uri $uri/ =404;
}
}
Inicialmente, eu tinha apenas listen [::]:443 ssl;
, que funcionava no host1, mas não no host2 e no host3, adicionando default_server
feito host2 e host3 funcionando corretamente. Todos os três hosts foram configurados via saltstack com interação mínima da minha parte para configurá-los, a única diferença que consegui pensar entre os hosts é que host1 e 2 estão em um provedor diferente de host3, o que obviamente não pode seja o problema. O que eu poderia ter perdido que torna esses hosts diferentes, causando a necessidade de configurações diferentes.
Editar: lembre-se de verificar suas versões, sou um idiota