Điểm:2

WSL2 Dockerized Nginx không khả dụng trong trình duyệt, nhưng phản hồi ping

lá cờ cn

Tôi có Windows 10 Home trên máy tính của mình với WSL2. Trong WSL tôi chạy Docker với cái này docker-compose.yml tập tin:

phiên bản: "3"
dịch vụ:
  httpd:
    hình ảnh: 'nginx: ổn định-alpine'
    cổng:
      - '80:80'
    khối lượng:
      - ./:/var/www/html
      - ./.docker-config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
    phụ thuộc:
      - php
      - mysql
    mạng:
      - mynet

  php:
    xây dựng:
      bối cảnh: ./.docker-config/dockerfiles
      dockerfile: php.dockerfile
    khối lượng:
      - ./:/var/www/html:được ủy quyền
    mạng:
      - mynet

mạng:
  mạng của tôi:
    tài xế: cầu

Trong ./.docker-config/nginx/nginx.conf Tôi có cấu hình này:

người phục vụ {
    nghe 80;
    chỉ mục index.php index.html;
    máy chủ_tên máy chủ cục bộ;
    gốc /var/www/html/công khai;
    địa điểm / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    vị trí ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        bao gồm fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

Tôi khởi động bộ chứa Docker của mình bằng lệnh này:

docker-compose up -d

Tôi thêm tên miền tùy chỉnh của mình vào máy chủ tệp trong Windows với địa chỉ IP hiện tại của WSL2.

Trong Power Shell, tôi thử ping miền của mình và nó đang phản hồi, vì vậy tôi nghĩ rằng cấu hình máy chủ là tốt.

Nhưng nếu tôi cố truy cập miền của mình trong trình duyệt, thì nó không phản hồi. Thông báo lỗi là ERR_CONNECTION_TIMED_OUT.

Phần kỳ lạ hơn là ngày hôm qua nó đã hoạt động và không có gì thay đổi trong các tệp cấu hình. Máy tính (và tất nhiên là WSL2 và Docker) đã bị tắt và khởi động vào ngày hôm nay.

Bạn có biết chuyện gì đang xảy ra ở đây không và làm cách nào để tránh tình trạng này trong tương lai?

CẬP NHẬT

Tôi đã đổi tên mạng của mình, khởi động lại docker và mọi thứ đều hoạt động tốt. Nhưng tôi không hiểu chuyện gì đang xảy ra ở đây. Tôi vẫn đang chờ câu trả lời để hiểu lý do của vấn đề này.

Cảm ơn!

simon avatar
lá cờ pl
Đảm bảo rằng các IP WSL không bị thay đổi: `wsl hostname -I`. Đối với tôi, phiên bản WSL2 của tôi đột nhiên bắt đầu cấp IP từ mạng con `192.168.*.*` thay vì từ `172.*.*.*`.

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