Điểm:0

Cấu hình sai Nginx?

lá cờ es

Khi tôi duyệt trang web wordpress của mình, nó sẽ tự động chuyển hướng đến https.

Tuy nhiên, tôi nhận được một TTFB lớn và tôi tin rằng đó có thể là do lỗi cấu hình cơ bản.

Hiện tại tôi có cấu hình sau, (HTTPS vẫn hoạt động bằng cách nào đó mà tôi không hiểu)

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

    port_in_redirect tắt;
    tắt_chuyển hướng tuyệt đối;
...

Nếu tôi thực hiện cập nhật sau

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

    port_in_redirect tắt;
    tắt_chuyển hướng tuyệt đối;

Trang web không còn truy cập được nữa.

SSL hoạt động như thế nào khi máy chủ đang nghe trên 8080 ngay từ đầu? Tôi không có bất kỳ 301 nào trong cấu hình của mình

CHỈNH SỬA: Cấu hình đầy đủ - phiên bản dưới đây bằng cách nào đó chuyển hướng chính xác tất cả lưu lượng truy cập đến https://


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

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    add_header X-Frame-Options TỪ CHỐI;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    large_client_header_buffers 4 64k;
    proxy_max_temp_file_size 0;

    gốc/nhà/trang web/wwwroot;
    chỉ mục index.php index.html index.htm;
    server_name domain.co.uk www.domain.co.uk;

    truy cập_đăng xuất;
    lỗi_đăng xuất;

    port_in_redirect tắt;
    tắt_chuyển hướng tuyệt đối;

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

    # chuyển hướng trang lỗi máy chủ sang trang tĩnh /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    vị trí = /50x.html {
        gốc/html/;
    }

    bật gzip;

    bật gzip_vary;
    gzip_proxied bất kỳ;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    hình ảnh gzip_types/svg+hình ảnh xml/văn bản biểu tượng x/văn bản thuần túy/văn bản html/văn bản xml/văn bản css/ứng dụng javascript/ứng dụng xml/ứng dụng xhtml+xml/ứng dụng rss+xml/ứng dụng javascript/ứng dụng x-javascript/x -phông chữ-ttf ứng dụng/vnd.ms-phông chữ đối tượng/phông chữ opentype/phông chữ ttf/phông chữ eot/hình ảnh otf/vnd.microsoft.icon;

    vị trí ~* \.(eot|ttf|woff|woff2|webmanifest)$ {
       add_header Access-Control-Allow-Origin *;
    }

    vị trí ~* \.(css|js|ico|gif|jpeg|jpg|webp|png|svg|eot|otf|woff|woff2|ttf|ogg)$ {
       hết hạn tối đa;
    }

    vị trí ~ [^/]\.php(/|$) {

        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        fastcgi_pass 127.0.0.1:9000;
        bao gồm fastcgi_params;
        fastcgi_param HTTP_PROXY "";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param QUERY_STRING $query_string;
        bật fastcgi_intercept_errors;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 3600;
        fastcgi_read_timeout 3600;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
}

Nikita Kipriyanov avatar
lá cờ za
Trường hợp đầu tiên không đề cập đến `ssl`. Vì vậy, nhiều nhất nó đã hoạt động ở chế độ văn bản thuần túy. Để trường hợp thứ hai hoạt động, bạn cũng cần chỉ định khóa riêng và chuỗi chứng chỉ (không có dấu hiệu nào trong bài đăng cho thấy bạn có chúng). Và vui lòng hiển thị thông báo Nginx trong quá trình khởi động và đầu ra `ss -lnpt` sau khi khởi động (nếu thành công) trong trường hợp thứ hai.
lá cờ us
Vui lòng thêm đầu ra của `nginx -T` vào câu hỏi để chúng tôi có thể xem cấu hình nginx đầy đủ.
Điểm:0
lá cờ za

trên cảng 8080 nó đã thức dậy không có SSL, ở dạng văn bản thuần túy. Để thêm SSL, chỉ thay đổi thôi là chưa đủ nghe 8080 vào trong nghe 443 ssl. Ít nhất bạn cũng cần thêm các dòng chỉ định chuỗi chứng chỉ và khóa riêng của máy chủ:

nghe [::]:443 ssl;
nghe 443 ssl;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;

Chuỗi đầy đủ là sự kết hợp đơn giản của tất cả các chứng chỉ ở dạng PEM (là các tệp văn bản có dữ liệu được mã hóa Base64 bên trong), chứng chỉ đầu tiên là của máy chủ tương ứng với khóa riêng, sau đó là CA của nhà phát hành trực tiếp, v.v., cho đến nhưng không bao gồm CA gốc.

Nếu có nhiều tên trong chứng chỉ (chứng chỉ hiện đại luôn sử dụng chủ đềTên thay thế cho phép chỉ định nhiều hơn một tên miền), bạn có thể chỉ định chúng trong tên máy chủ Tùy chọn. Bạn chỉ có thể chỉ định tên máy chủ tồn tại trong trường SAN của chứng chỉ, nhưng bạn không bắt buộc phải sử dụng tất cả chúng.(Nếu bạn chỉ định bất kỳ thứ gì khác tồn tại trong trường SAN, khách hàng của bạn sẽ hiển thị lỗi chứng chỉ SSL không thuộc về miền khi họ truy cập máy chủ của bạn bằng tên đó.) Trong trường hợp của bạn, chứng chỉ phải hợp lệ ít nhất là cho cả hai tên miền.co.ukwww.domain.co.uk.

Nhìn thấy Hướng dẫn sử dụng Nginx HTTPS để biết chi tiết. Nếu bạn dùng certbot (ứng dụng khách ACME) với plugin cài đặt nginx để lấy chứng chỉ, nó sẽ tự động định cấu hình mọi thứ. Nếu bạn lấy chứng chỉ "bằng tay", bạn cũng phải thêm các tùy chọn cấu hình này bằng tay.

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