Điểm:0

Nginx http không chuyển hướng đến https

lá cờ pl

LƯU Ý: Tôi đã hỏi câu hỏi này trước đây trên StackOverflow, không nhận được bất kỳ phản hồi nào.


Vâng, câu hỏi này đã được hỏi nhiều lần và vâng, tôi đã xem qua tất cả các giải pháp, chấp nhận hay không. Nhưng vẫn phải đối mặt với một vấn đề.

Tôi có thể truy cập trang web tại https://example.in nhưng Nginx không chuyển hướng http://example.in đến https://example.in

Tôi đang chạy NGINX bên trong docker.

Cấu hình Nginx là

người phục vụ {
        nghe 80 default_server;
        lắng nghe [::]:80 default_server;

        server_name example.in www.example.in;

        trả về 301 https://$server_name$request_uri;
}

người phục vụ {
        nghe 443 ssl;
        server_name example.in www.example.in;
        ssl_certificate /etc/nginx/certs/example.in.crt;
        ssl_certificate_key /etc/nginx/certs/example.in.key;

        vị trí/tĩnh {
                bí danh /vol/web/;
        }

        địa điểm / {
                uwsgi_pass ${APP_HOST}:${APP_PORT};
                bao gồm /etc/nginx/uwsgi_params;
                client_max_body_size 10M;
        }
}

Dockerfile cho Nginx là

TỪ nginx:1.21.3
Trình bảo trì LABEL="example.in"

SAO CHÉP ./default.conf.tpl /etc/nginx/default.conf.tpl
SAO CHÉP ./uwsgi_params /etc/nginx/uwsgi_params
SAO CHÉP ./data/certs/example.in.crt /etc/nginx/certs/
SAO CHÉP ./data/certs/example.in.key /etc/nginx/certs/
SAO CHÉP ./run.sh /run.sh

ENV LISTEN_PORT=8000
ENV APP_HOST=ứng dụng
ENV APP_PORT=9000

CHẠY mkdir -p /vol/static && \
    chmod 755/vol/tĩnh && \
    chạm /etc/nginx/conf.d/default.conf && \
    chown nginx:nginx /etc/nginx/conf.d/default.conf && \
    chmod +x /run.sh && \
    chmod +r /etc/nginx/certs/example.in.crt && \
    chmod +r /etc/nginx/certs/example.in.key

KHỐI LƯỢNG /vol/tĩnh

CMD ["/run.sh"]

docker-compose.yml

phiên bản: '3.9'

dịch vụ:
  ứng dụng:
    xây dựng:
      bối cảnh: .
    khởi động lại: luôn luôn
    khối lượng:
      - dữ liệu tĩnh:/vol/web
    môi trường:
      - ... (một số biến môi trường)
    
  Ủy quyền:
    xây dựng:
      ngữ cảnh: ./proxy
    khởi động lại: luôn luôn
    phụ thuộc:
      - ứng dụng
    cổng:
      - "80:8000"
      - "443:443"
    khối lượng:
      - dữ liệu tĩnh:/vol/web
      - ./data/certs:/etc/nginx/certs

khối lượng:
  dữ liệu tĩnh:

Ứng dụng được đề cập ở đây là một ứng dụng web Django phục vụ các tệp tĩnh qua Nginx.

Tôi chưa bao giờ làm việc với Nginx trước đây.

Một số thông tin khác có thể hữu ích cho việc gỡ lỗi -

  1. nhật ký bộ chứa docker <nginx-container-id> không hiển thị bất kỳ nhật ký nào khi nó cố truy cập trên http.
  2. Đã kiểm tra với tường lửa linux và cổng 80 có thể truy cập được.

Tái bút: Cách đây vài ngày, tôi gặp phải một vấn đề khác với cấu hình Nginx, vấn đề này hoàn toàn ngược lại với vấn đề này. Nếu bạn cần một số tài liệu tham khảo về điều đó, xin vui lòng xem câu hỏi này. Mặc dù vậy, tôi đã có thể tự mình tìm ra giải pháp và chia sẻ nó ở đó.

lá cờ in
Vui lòng hiển thị cổng nào bạn đã ánh xạ với docker.
Japkeerat Singh avatar
lá cờ pl
@GeraldSchneider Đã thêm
lá cờ in
Và vui lòng không chuyển bài. Ngoài câu hỏi của bạn hoàn toàn không có chủ đề đối với [vì vậy], việc đăng chéo không được phép trên mạng Stack Exchange.
Japkeerat Singh avatar
lá cờ pl
Tôi không biết rằng nó không được phép. Lời xin lỗi của tôi.
Điểm:1
lá cờ in

Bạn đang ánh xạ Cổng 80 tới cổng 8000 trong docker-compose.yml của mình. Yêu cầu của bạn không bao giờ đến nginx.

cổng:
  - "80:80"
  - "443:443"
Japkeerat Singh avatar
lá cờ pl
Không nhận ra điều này. Tôi đã tìm kiếm lỗi ở tất cả các nơi nhưng điều này. Cảm ơn bạn rất nhiều!

Đă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.