De acordo com a documentação oficial - Diferentes servidores devem ouvir em endereços diferentes: pares de portas .
Eu tenho um proxy reverso nginx, e gostaria de ter o tráfego encaminhado para vários sites e ouvir na porta 443 todos esses serviços. Eu já vi isso feito vários lugares, e parece ser o caminho normal para ter uma configuração de proxy reverso ... ele escuta em uma única porta e encaminha com base na URL.
No entanto, tenho algumas configurações que considero um pouco estranhas porque tenho um site que usa a validação do NTLM por meio de um site do IIS e, por isso, estou usando ngstream Stream
Aqui estão meus arquivos de configuração atuais:
/opt/nginx/nginx.conf
stream {
upstream backend {
hash $remote_addr consistent;
server mysite.domain.com:80 weight=5;
server 192.168.0.5 max_fails=3 fail_timeout=30s;
}
server {
listen 192.168.0.2:443 ssl;
ssl_certificate /usr/local/nginx/conf/mycert.crt;
ssl_certificate_key /usr/local/nginx/conf/mykey.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include /opt/nginx/sites-enabled/*;
}
/ opt / nginx / sites-disponíveis / padrão
server {
listen 80 default;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 192.168.0.2:443 ssl;
server_name myothersite.domain.com;
ssl_certificate /usr/local/nginx/conf/mycert.crt;
ssl_certificate_key /usr/local/nginx/conf/mykeykey;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.0.6:80;
proxy_set_header Host $host;
proxy_redirect http:// $scheme://;
}
}
Quando eu vou reiniciar o nginx, recebo o erro
bind() to 127.0.0.1:443 failed (98: Address already in use)
Eu pensei que sob cada server
você poderia ouvi-lo na mesma porta, mas isso parece não estar funcionando.
Se eu remover o fluxo todos juntos e usar apenas dois outros sites que não usam fluxo, isso parece funcionar bem com várias seções server
.
De acordo com a documentação oficial - Diferentes servidores devem ouvir em endereços diferentes: pares de portas .