Điểm:0

Máy chủ ảo tự động - Cấu hình Nginx đơn

lá cờ cn

Tôi đang cố gắng tạo một cấu hình Nginx cho nhiều máy chủ dựa trên một thư mục. Tôi đã làm theo hướng dẫn có vẻ hoạt động tốt với thiết lập HTTP tiêu chuẩn nhưng khi tôi thêm chuyển hướng HTTPS 301, tôi có thể báo lỗi "chuyển hướng không hợp lệ". Bất kỳ ý tưởng về điều này? Dưới đây là cấu hình của tôi. tx

người phục vụ {
  nghe x.x.x.x:80;

  server_name ~^(?<sname>.+?).domain.com$;

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

}

người phục vụ {
    nghe x.x.x.x:443 ssl default_server;
    server_name ~^(?<sname>.+?).domain.com$;


gốc /var/web/$sname;

chỉ mục index.html index.htm index.php;


bộ ký tự utf-8;

    địa điểm / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    vị trí = /favicon.ico { truy cập_đăng xuất; log_not_found tắt; }
    vị trí = /robots.txt { access_log off; log_not_found tắt; }


ssl_certificate /etc/letsencrypt/live/wildcard.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wildcard.domain.com/privkey.pem;

access_log /var/log/nginx/$sname-access.log;
error_log /var/log/nginx/wildcard-error.log gỡ lỗi;

error_page 404 /index.php;

    gửi tệp tắt;

        vị trí ~ \.php {
                bao gồm fastcgi.conf;
                #fastcgi_index index.php;
                bao gồm cors_support;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        }
        vị trí ~ /\.ht {
                Phủ nhận tất cả;
        }
  vị trí /.well-known {
    gốc/var/www/html;
  }
}
djdomi avatar
lá cờ za
Theo suy nghĩ cá nhân của tôi, việc không có một tệp Cài đặt duy nhất sẽ Đầy đủ hơn và dễ quản lý hơn, thay vào đó tôi đã viết các trang của mình trong mỗi tệp chỉ chứa cùng một tên miền và ý tôi là tôi đã đọc rồi, điều đó có lẽ gần như không thể. đang cố gắng, nhưng tuy nhiên tôi không chắc về phần này nhưng oyu đừng nói với bất kỳ nhật ký nào
lá cờ us
Đầu ra của `curl -v http://test.domain.com` là gì?
Điểm:0
lá cờ cz

Chuyển hướng của bạn "không hợp lệ" vì bạn đang cố chuyển hướng đến https://~^(?<sname>.+?).domain.com$ mà rõ ràng là không hợp lệ.

Tại sao cái này rất?

Bạn đã chọn viết chuyển hướng của mình như sau:

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

Điều này không có ý nghĩa. Các tên máy chủ không phải là tên máy chủ hợp lệ.

Thay vào đó, bạn nên chuyển hướng đến cùng một máy chủ mà tác nhân người dùng đã sử dụng. Các biến đúng để sử dụng có máy chủ $, không phải $server_name.

  trả lại 301 https://$host$request_uri;
djdomi avatar
lá cờ za
Michael, bạn đang Rình rập TÔI :-) Tuy nhiên, và cũng là một phần bổ sung của Good Solutin có thể là: https://serverfault.com/questions/706438/what-is-the-difference-between-nginx-variables-host-http- máy chủ-và-máy chủ-na?noredirect=1&lq=1
Michael Hampton avatar
lá cờ cz
@djdomi Đó là liên kết trong câu trả lời!
djdomi avatar
lá cờ za
chỉ ra rằng bạn không thấy rằng có một liên kết đến cùng một trang;) và nếu tôi nhận được một uovote đúng giờ mỗi khi chúng tôi gặp chúng tôi trong cùng một chủ đề, tôi sẽ rất nhanh chóng đạt được 500 điểm xD
WallyKaye avatar
lá cờ cn
Cảm ơn giải pháp @MichaelHampton đã hoạt động. $host thực sự tương đương với điều gì trong kịch bản này?
Michael Hampton avatar
lá cờ cz
@WallyKaye Điều đó được giải thích trong bài đăng được liên kết.

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