SSL ubuntu dışından bağlanamıyor


0

Yeni yapılandırılmış SSL siteme bağlanma konusunda çok garip bir sorunum var. Bu, Amazon deniz fenerinde barındırılan bir Ubuntu VPS'dir.

Burada görebileceğiniz gibi 80 ve 443 numaralı bağlantı noktalarına hizmet veren docker konteynerim var:

CONTAINER ID        IMAGE                                                                           COMMAND                  CREATED             STATUS              PORTS                                      NAMES
ce7114e8383a        nginx:alpine                                                                    "nginx -g 'daemon of…"   43 minutes ago      Up 7 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app_nginx_1
ffe588588a67        registry.gitlab.com/example/example-personal-website:latest   "/bin/sh -c 'npm run…"   43 minutes ago      Up 7 minutes        0.0.0.0:9000->9000/tcp                     app_web_1

Sunucunun içinden, bu konteynere bir kıvrılma talebi yapabilir ve SSL ile ilgili doğru bir yanıt alabilirim. Aynı cevabı 80 numaralı bağlantı noktasında da alıyorum.

ubuntu@ip-172-26-13-199:~$ curl -k https://0.0.0.0:443
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/>
... // rest of served HTML

Güvenlik duvarını sadece ekarte etmek için tamamen devre dışı bıraktım.

ubuntu:~$ sudo ufw disable
Firewall stopped and disabled on system startup
ubuntu:~$ sudo ufw status
Status: inactive

Yine de dışarıdan https://www.example.com/ sitesine erişemiyorum sadece http://www.example.com/

Bu benim nginx varsayılan konfigürasyonum. Başka bir liman işçisi görüntüsüne ters proxy.

upstream node-app {
  server web:9000;
}

server {
  listen 80;
  listen 443 ssl;

  server_name www.example.com;

  ssl_certificate /certbot/live/www.example.com/fullchain.pem;
  ssl_certificate_key /certbot/live/www.example.com/privkey.pem;

  location / {
    proxy_pass         http://node-app;
    proxy_redirect     off;
    proxy_set_header   Host $host;
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host $server_name;
  }
}

Ve bu, aksi takdirde varsayılan nginx konfigürasyonuna dahil edilir.

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
  worker_connections  1024;
}

http {
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

  access_log  /var/log/nginx/access.log  main;

  sendfile        on;
  #tcp_nopush     on;

  keepalive_timeout  65;

  #gzip  on;

  include /etc/nginx/conf.d/*.conf;
}

Düzenleme # 1 - Test-NetConnection'dan Çıktı

C:\Users\Richard> Test-NetConnection -Port 443 -ComputerName www.example.com -InformationLevel Detailed
WARNING: TCP connect to ([server_ip] : 443) failed
WARNING: Ping to [server_ip] failed with status: TimedOut


ComputerName            : www.example.com
RemoteAddress           : [server_ip]
RemotePort              : 443
NameResolutionResults   : [server_ip]
MatchingIPsecRules      :
NetworkIsolationContext : Internet
IsAdmin                 : False
InterfaceAlias          : WiFi
SourceAddress           : 192.168.1.103
NetRoute (NextHop)      : 192.168.1.1
PingSucceeded           : False
PingReplyDetails (RTT)  : 0 ms
TcpTestSucceeded        : False

C:\Users\Richard> Test-NetConnection -Port 80 -ComputerName www.example.com -InformationLevel Detailed


ComputerName            : www.example.com
RemoteAddress           : [server_ip]
RemotePort              : 80
NameResolutionResults   : [server_ip]
MatchingIPsecRules      :
NetworkIsolationContext : Internet
IsAdmin                 : False
InterfaceAlias          : WiFi
SourceAddress           : 192.168.1.103
NetRoute (NextHop)      : 192.168.1.1
TcpTestSucceeded        : True


Çok teşekkür ederim. Bunu Dijital Okyanusta yapmak zorunda değildim. Lütfen cevabınızı ekleyin, böylece size internet puanları verebilirim.
Richard Vanbergen

Yanıtlar:


1

Yerel sistemden 443 numaralı bağlantı noktasına ve 80 numaralı bağlantı noktasına yerel bağlantı mümkün ise ancak yalnızca uzak 80 numaralı bağlantı noktasından ulaşılabilirse, genellikle iki olasılık vardır: a) 443 numaralı bağlantı noktası farklı bir IP adresine bağlanır (burada değil) veya b) bağlantı noktası 443 bazı güvenlik duvarı tarafından engellendi.

Uzaktaki sistem ile yerel sistem arasında birkaç atlama olduğundan, burada birçok güvenlik duvarı olabileceğini unutmayın. Yerel sistemdeki güvenlik duvarını devre dışı bırakmış olsanız da, kurulumunuzda en az bir tane daha var: Amazon Lightsail'deki genel ağ bağlantı noktalarını ve güvenlik duvarı ayarlarını anlama .

Bazıları açıkça açılması gereken başka bir güvenlik duvarının olması sıkıntı verici olsa da, bu tür bir derinlemesine savunma aslında kullanıcıların bilmeden veritabanlarını veya diğer hizmetleri dışarıya bilmeden açtığı birkaç kurulumu koruyabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.