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