Tôi có một giọt mới chạy Ubuntu 20.04. Tôi chỉ sử dụng máy chủ này để lưu trữ api của mình nên tôi đang cố gắng chuyển tiếp nó tới api.example.com. Vấn đề là, khi tôi truy cập https://api.example.com tôi có 502 Cổng Xấu
tuy nhiên khi tôi đến thăm http://example.com, tôi nhận được trang chào mừng nginx. Tôi đã khởi động lại nginx và chạy cái này Sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
tuy nhiên tôi vẫn nhận được lỗi. Tôi cũng đã đăng ký api.example.com và nó chuyển hướng đến https nên tôi hơi bối rối về vấn đề này. Nhật ký lỗi nginx hiển thị:
21/11/2021 03:31:57 [lỗi] 8737#8737: *25 connect() không thành công (111: Lỗi không xác định) trong khi kết nối với thượng nguồn, máy khách: ip của tôi, máy chủ: api.example.com, yêu cầu: " GET /favicon.ico HTTP/1.1", ngược dòng: "http://127.0.0.1:3001/favicon.ico", máy chủ lưu trữ: "api.example.com", liên kết giới thiệu: "https://api.example.com /".
Tôi cũng có máy chủ của mình chạy trên cổng 3001.
Cấu hình nginx của tôi là:
người phục vụ {
nghe 80;
nghe [::]:80;
server_name api.example.com;
địa điểm / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
'nâng cấp' kết nối proxy_set_header;
proxy_set_header Máy chủ lưu trữ $host;
proxy_cache_bypass $http_upgrade;
}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/api.exmaple.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/api.exmaple.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
if($host = api.example.com) {
trả về 301 https:$host$request_uri;
}
nghe 80;
nghe [::]:80;
server_name api.example.com;
trả lại 404;
}
Ngoài ra, tôi không sử dụng cloudflare nên tôi không nghĩ đây là sự cố dns. Bất kỳ trợ giúp sẽ được đánh giá cao.