Điểm:0

Nginx xử lý SSL và proxy chuyển sang phụ trợ HTTP trong docker nhưng cố gắng tiếp tục phục vụ nội dung cục bộ

lá cờ cn

Tôi cố gắng thiết lập môi trường docker-compose trong đó bộ chứa Nginx nhận các yêu cầu HTTPS, xử lý SSL và đảo ngược proxy chúng thành ứng dụng dotnet-core chỉ triển khai HTTP.

Chủ đề này đã được thảo luận ở đây nhiều lần và tôi đã cố gắng tạo một cấu hình tối thiểu chỉ phục vụ mục đích này ( Tương tự như sau: NGINX SSL Pass-thru và Docker )

Vấn đề là, Nginx phản hồi với 404 mặc dù đã được định cấu hình cho các yêu cầu proxy_pass tới ứng dụng dotnet-core hiện chỉ phản hồi 'Xin chào thế giới' cho tất cả các yêu cầu.

nginx_1 | 25/06/2021 04:07:54 [lỗi] 24#24: *1 "/etc/nginx/html/index.html" không tìm thấy (2: Không có tệp hoặc thư mục như vậy), máy khách: 210.61.91.199, máy chủ: tgdev.pillepalle1.de, yêu cầu: "GET / HTTP/1.1", máy chủ: "tgdev.pillepalle1.de"

Tôi đã kết nối với vùng chứa và trích xuất thiết lập từ đó

root@70e20feb4fae:/etc/nginx# ls -l

tổng số 32
drwxr-xr-x 1 gốc gốc 4096 ngày 25 tháng 6 01:49 conf.d
-rw-r--r-- 1 gốc gốc 1007 ngày 25 tháng 5 12:28 fastcgi_params
-rw-r--r-- 1 root root 5290 25 tháng 5 12:28 mime.types
lrwxrwxrwx 1 root root 22 May 25 13:01 modules -> /usr/lib/nginx/modules
-rw-r--r-- 1 root root 648 25 tháng 5 13:01 nginx.conf
-rw-r--r-- 1 root root 636 25 tháng 5 12:28 scgi_params
-rw-r--r-- 1 root root 664 25 tháng 5 12:28 uwsgi_params

root@70e20feb4fae:/etc/nginx# cat nginx.conf

người dùng nginx;
worker_processes tự động;

thông báo error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;


sự kiện {
    công_nhân kết_nối 1024 ;
}


http {
    bao gồm /etc/nginx/mime.types;
    ứng dụng default_type/octet-stream;

    log_format chính '$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 chính;

    gửi tệp trên;
    #tcp_nopush bật;

    keepalive_timeout 65;

    #gzip trên;

    bao gồm /etc/nginx/conf.d/*.conf;
}

root@70e20feb4fae:/etc/nginx/conf.d# ls

certbot.conf default.conf

root@70e20feb4fae:/etc/nginx/conf.d# cat default.conf

người phục vụ {
    nghe 80;
    nghe [::]:80;
    máy chủ_tên máy chủ cục bộ;

    địa điểm / {
        # trả lại 301 https://$host/$request_uri;
        proxy_pass http://tgwebapp:80;
    }
}

người phục vụ {
    nghe 443 ssl;
    nghe [::]:443 ssl;

    máy chủ_tên máy chủ cục bộ;

    ssl_certificate /etc/letsencrypt/live/this/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/this/privkey.pem;

    địa điểm / {
        proxy_pass http://tgwebapp:80;
    }
}

root@70e20feb4fae:/etc/nginx/conf.d# mèo certbot.conf

người phục vụ {
    nghe 80;
    nghe [::]:80;
    máy chủ_tên máy chủ cục bộ;

    địa điểm /.well-known/ {
        proxy_pass http://certbot;
    }
}

Không có mục nhập nào khiến nginx phải phân phối /etc/nginx/html/index.html. Tôi đang thiếu gì?

Điểm:2
lá cờ us

Bạn đã thiết lập hai máy chủ ảo trùng lặp, một trong certbot.conf và thứ hai trong mặc định.conf. Cả hai máy chủ ảo đều hoạt động trên cổng 80 và tên máy chủ máy chủ cục bộ. Do đó, nginx bỏ qua cái khác và luôn sử dụng cái đầu tiên.

Để khắc phục điều này, hãy loại bỏ certbot.conf và sử dụng như sau trong mặc định.conf:

người phục vụ {
    nghe 80;
    nghe [::]:80;
    máy chủ_tên máy chủ cục bộ;

    địa điểm /.well-known/ {
        proxy_pass http://certbot;
    }

    địa điểm / {
        # trả lại 301 https://$host/$request_uri;
        proxy_pass http://tgwebapp:80;
    }
}

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.