ฉันไม่รู้จริง ๆ ว่าเหตุใดการกำหนดค่า nginx ของฉันจึงใช้ไม่ได้กับ www.
การกำหนดค่าของฉันคือ:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name postimg.cz www.postimg.cz;
ส่งคืน 301 https://$server_name$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443;
server_name postimg.cz;
# การกำหนดค่า SSL
ssl_certificate /etc/letsencrypt/live/postimg.cz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/postimg.cz/privkey.pem;
ssl_session_cache ที่ใช้ร่วมกัน: SSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GC>
เปิด ssl_prefer_server_ciphers;
# ดู https://hstspreload.org/ ก่อนที่จะยกเลิกการแสดงความคิดเห็นบรรทัดด้านล่าง
# add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 15768000; โหลดล่วงหน้า;";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-การป้องกัน "1; mode=block";
add_header X-Robots-Tag ไม่มี;
add_header เนื้อหา-ความปลอดภัย-นโยบาย "เฟรมบรรพบุรุษ 'ตัวเอง'";
add_header X-Frame-ตัวเลือกปฏิเสธ;
add_header ผู้อ้างอิง-นโยบายต้นทางเดียวกัน
รูท /var/www/postimg.cz;
# ปิดการเข้าถึงไฟล์แอปพลิเคชันที่ละเอียดอ่อน
ตำแหน่ง ~* (แอป|เนื้อหา|lib)/.*\.(po|php|lock|sql)$ {
กลับ 404;
}
ตำแหน่ง ~* ผู้แต่ง\.json|ผู้แต่ง\.lock|.gitignore$ {
กลับ 404;
}
ตำแหน่ง ~* /\.ht {
กลับ 404;
}
# ไม่พบภาพแทนที่
ตำแหน่ง ~* \.(jpe?g|png|gif|webp)$ {
ปิด log_not_found;
error_page 404 /content/images/system/default/404.gif;
}
# ส่วนหัว CORS (หลีกเลี่ยงปัญหาการแสดงผลแบบอักษร)
ตำแหน่ง ~* \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
# ตัวควบคุมด้านหน้า PHP
ที่ตั้ง / {
ดัชนี index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
}
# จุดเข้าใช้งาน PHP จุดเดียว (ปิดการเข้าถึงไฟล์ .php โดยตรง)
ตำแหน่ง ~* \.php$ {
ภายใน;
รวมตัวอย่าง/fastcgi-php.conf;
fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
}
}
แต่เมื่อฉันไปที่ http://www.postimg.cz มันจะไม่เปลี่ยนเส้นทางไปที่ https://postimg.cz ทำไมถึงเป็นเช่นนั้น? คุณช่วยฉันด้วยได้ไหม
เซิร์ฟเวอร์: เซิร์ฟเวอร์ Ubuntu 20.04
แก้ไข // ลองสิ่งนี้ไม่ทำงานเช่นกัน:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name www.postimg.cz postimg.cz;
ส่งคืน 301 https://$server_name$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name www.postimg.cz;
ssl_certificate /etc/letsencrypt/live/www.postimg.cz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.postimg.cz/privkey.pem;
ส่งคืน 301 https://postimg.cz$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name postimg.cz;