Điểm:0

Lưu trữ hai dự án django khác nhau trong cùng một giọt với các tên miền phụ khác nhau (NGINX, Gunicorn, ubuntu)

lá cờ fr

Như tiêu đề đã nói, tôi muốn lưu trữ hai dự án django khác nhau trong cùng một giọt (NGINX, Gunicorn, ubuntu) với các tên miền phụ khác nhau.Một sẽ là trang web chính của chúng tôi example.com. đang hoạt động và hoạt động hoàn hảo. Chúng tôi muốn lưu trữ trang web dàn dựng staging.example.com trong cùng một phần nhỏ.

Chúng tôi đã tạo các ổ cắm và tệp dịch vụ mới cho trang dàn dựng, đồng thời kích hoạt và kích hoạt chúng nhưng vấn đề là nginx vẫn trỏ đến các tệp trong thư mục miền chính chứ không phải thư mục dàn dựng và do đó chúng tôi gặp lỗi này bên dưới mặc dù các miền này đã được thêm vào trong các máy chủ được phép của settings.py của trang dàn dựng

DisallowedHost tại / Tiêu đề HTTP_HOST không hợp lệ: 'staging.example.com'. Bạn có thể cần thêm >'staging.example.com' vào ALLOWED_HOSTS

Đây là tệp staging.guinicorn.service của chúng tôi

[Đơn vị]
Description=staging.gunicorn daemon
Yêu cầu=staging.gunicorn.socket
Sau=mạng.mục tiêu

[Dịch vụ]
Người dùng = quản trị viên
Nhóm=www-dữ liệu
WorkingDirectory=/home/admin/example1staging
ExecStart=/home/admin/example1staging/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/staging.gunicorn.sock djangoproject.wsgi:application

[Cài đặt]
WantedBy=multi-user.target

Đây là tệp staging.guicorn.socket của chúng tôi

[Đơn vị]
Mô tả = ổ cắm staging.gunicorn

[Ổ cắm]
ListenStream=/run/staging.gunicorn.sock

[Cài đặt]
WantedBy=sockets.target

Cuối cùng đây là cấu hình nginx của chúng ta

người phục vụ {
    nghe 80;
    nghe [::]:80;
    server_name example.com www.example.com;
    trả về 302 https://$server_name$request_uri;
}

người phục vụ {
    # Cấu hình SSL

    nghe 443 ssl http2;
    nghe [::]:443 ssl http2;
    ssl_certificate /etc/ssl/cert.pem;
    ssl_certificate_key /etc/ssl/key.pem;
    ssl_client_certificate /etc/ssl/cloudflare.crt;
    bật ssl_verify_client;

    gốc/var/www/html;
    chỉ mục index.html index.htm index.nginx-debian.html;    

    vị trí = /favicon.ico { truy cập_đăng xuất; log_not_found tắt; }
    vị trí /tĩnh/ {
        gốc/nhà/quản trị/ví dụ1;
    }

    địa điểm / {
        bao gồm proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

người phục vụ {
    nghe 80;
    nghe [::]:80;
    server_name staging.example.com www.staging.example.com;
    trả về 302 https://$server_name$request_uri;
}

người phục vụ {
    # Cấu hình SSL

    nghe 443 ssl http2;
    nghe [::]:443 ssl http2;
    ssl_certificate /etc/ssl/cert.pem;
    ssl_certificate_key /etc/ssl/key.pem;
    ssl_client_certificate /etc/ssl/cloudflare.crt;
    bật ssl_verify_client;

    gốc/var/www/html;
    chỉ mục index.html index.htm index.nginx-debian.html;    

    vị trí = /favicon.ico { truy cập_đăng xuất; log_not_found tắt; }
    vị trí /tĩnh/ {
        gốc /home/admin/example1staging;
    }

    địa điểm / {
        bao gồm proxy_params;
        proxy_pass http://unix:/run/staging.gunicorn.sock;
    }
}

Bất kỳ loại trợ giúp sẽ được đánh giá rất cao!

Điểm:0
lá cờ ph

nghe 443 ssl http2;

server_name example.com www.example.com;

nghe 443 ssl http2;

server_name staging.example.com www.staging.example.com;

Thay đổi tệp nginx của bạn trong phần https

Ixion Chowdhury avatar
lá cờ fr
Có tôi đã làm và nó đã làm việc. Cám ơn rất nhiều!
Điểm:0
lá cờ us

Cả hai khối cấu hình SSL của bạn đều bị thiếu tên máy chủ chỉ thị. Do đó, nginx sử dụng máy chủ ảo mặc định cho tất cả các yêu cầu và trong trường hợp này, nó là máy chủ đầu tiên lắng nghe cổng 443.

Bạn cần thêm đúng tên máy chủ hướng dẫn khắc phục sự cố.

Ixion Chowdhury avatar
lá cờ fr
Cảm ơn rất nhiều! Nó làm việc như một say mê!

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