Điểm:0

Với NGINX, làm cách nào để chuyển hướng www sang non-www trong khi sử dụng tên miền phụ?

lá cờ jp

Tôi thiết lập một trang web bằng wordpress bằng NGINX và PHP-FPM.

phụ trợ.site.com dành cho wordpress-backend

trang web.comdành cho giao diện người dùng nuxt

Vấn đề của tôi

Khi tôi truy cập giao diện người dùng bằng cách gõ www.site.com tôi được chuyển hướng đến phụ trợ.site.com

# /etc/nginx/conf.d/default.conf

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

    trả lại 301 https://$host$request_uri;
}

người phục vụ {
    nghe 443 ssl;
    ssl_certificate /etc/nginx/ssl/site.com_ssl_certificate.cer;
    ssl_certificate_key /etc/nginx/ssl/site.com_private_key.key;

    trả lại 301 https://$host$request_uri;
}
# /etc/nginx/conf.d/site.com.conf

bản đồ $sent_http_content_type $hết hạn {
    kỷ nguyên "văn bản/html";
    kỷ nguyên "văn bản/html; bộ ký tự=utf-8";
    mặc định tắt;
}

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

    ssl_certificate /etc/nginx/ssl/site.com_ssl_certificate.cer;
    ssl_certificate_key /etc/nginx/ssl/site.com_private_key.key;

    server_name site.com www.site.com;

    bật gzip;
    văn bản gzip_types/ứng dụng đơn giản/văn bản xml/ứng dụng css/javascript;
    gzip_min_length 1000;

    vị trí ^~ / {
        bí danh /var/www/html/web-frontend/.nuxt/dist/client;

        hết hạn $ hết hạn;
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 1 phút;
        proxy_connect_timeout 1 phút;
        proxy_pass http://127.0.0.1:3000;
    }

    vị trí ~ /\.ht {
                Phủ nhận tất cả;
    }

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

    vị trí = /robots.txt {
            log_not_found tắt; truy cập_đăng xuất; chấp nhận tất cả;
    }

    vị trí ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
            hết hạn tối đa;
            log_not_found tắt;
    }
}
# /etc/nginx/conf.d/backend.site.com.conf

người phục vụ {
    # Cấu hình SSL
    #
    nghe 443 ssl;
    nghe [::]:443 ssl;
    ssl_certificate /etc/nginx/ssl/site.com_ssl_certificate.cer;
    ssl_certificate_key /etc/nginx/ssl/site.com_private_key.key;

    gốc /var/www/html/web-backend/web;

    # Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
    chỉ số index.php;

    server_name backend.site.com;

    bật gzip_vary;
    gzip_proxied bất kỳ;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_min_length 0;
    văn bản gzip_types/ứng dụng đơn giản/văn bản javascript/văn bản css/ứng dụng xml/ứng dụng xml/xml+văn bản rss/ứng dụng javascript/ứng dụng vnd.ms-fontobject/phông chữ x-font-ttf/opentype;

    client_max_body_size 100M;

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

    vị trí ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index index.php;
            bao gồm fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }

    vị trí ~ /\.ht {
            Phủ nhận tất cả;
    }

    vị trí = /favicon.ico {
            log_not_found tắt; truy cập_đăng xuất;
    }
    vị trí = /robots.txt {
            log_not_found tắt; truy cập_đăng xuất; chấp nhận tất cả;
    }
    vị trí ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
            hết hạn tối đa;
            log_not_found tắt;
    }

    #lỗi_trang 404 /404.html;

    # 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 /usr/share/nginx/html;
    }
}
Điểm:0
lá cờ cg

Bạn có một số hiểu lầm về cách thức hoạt động của máy chủ ảo. Kiểm tra những điểm này:

  1. Khi bạn định cấu hình máy chủ ảo, bạn cần đặt máy chủ ảo cho http (cổng 80) và https (cổng 443).
  2. Chuyển hướng máy chủ ảo của bạn trên cổng 80 sang máy chủ ảo của bạn trên cổng 443.
  3. Hãy nhớ rằng luôn cần xử lý lưu lượng truy cập đến của http (cổng 80) của bạn. Tại sao? Một số nhà phát triển (tôi không biết tại sao) sử dụng cùng một máy chủ ảo xuất bản hai ứng dụng khác nhau, một trên cổng 80, một trên 443.

Hãy thử thêm cái này để giải quyết vấn đề của bạn

Cấu hình này chuyển hướng lưu lượng đến trên cổng 80 sang https.

người phục vụ {
    nghe 80; 
    server_name site.com www.site.com;
    access_log /var/log/nginx/site.com.access.log chính;
    error_log /var/log/nginx/site.com.error.log lỗi;
  
    địa điểm / {
        trả lại 301 https://$host$request_uri;
    }
}

Chuyển hướng lưu lượng truy cập đến trên phụ trợ.site.com:80 cảng đến phụ trợ.site.com:443 của máy chủ ảo.

Ghi chú: tôi thêm :80 để làm nổi bật cổng kết nối đang đến

người phục vụ {
    nghe 80;
    server_name backend.site.com;
    access_log /var/log/nginx/backend.site.com.access.log chính;
    error_log /var/log/nginx/backend.site.com.error.log lỗi;
   
    địa điểm / {
        trả lại 301 https://$host$request_uri;
    }
}

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