ฉันไม่ใช่กูรูด้านเซิร์ฟเวอร์ จึงต้องการความช่วยเหลือ ฉันกำลังโฮสต์โปรเจ็กต์ laravel บน droplet มหาสมุทรดิจิทัล และชี้โดเมนย่อยที่ลงทะเบียนที่ godaddy ไปยัง droplet ดังกล่าว แถบที่อยู่กำลังอัปเดตเพื่อแสดง IP ของเซิร์ฟเวอร์แทนที่จะเป็นโดเมนที่เกี่ยวข้องเมื่อพยายามเข้าถึงไซต์
โดเมนแบ่งออกเป็นสองส่วนโดยโดเมนพื้นฐานชี้ไปที่เซิร์ฟเวอร์เวิร์ดเพรส และโดเมนย่อย myaccount ชี้ไปที่หยดมหาสมุทรดิจิทัล
ใช้ระเบียน DNS:
CNAME www -> @
A@ -> XX.XXX.XX.XXX
โดเมนย่อย -> 184.168.131.241
(กำหนดโดยอัตโนมัติโดย godaddy เมื่อตั้งค่ากฎการส่งต่อให้ชี้
ไปยังเซิร์ฟเวอร์ที่ 68.183.26.235 ฉันคาดเดาที่อยู่ส่งต่อภายในบางส่วน)
การกำหนดค่าเซิร์ฟเวอร์:
NGINX.conf
ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;
เหตุการณ์ {
worker_connections 768;
# multi_accept บน;
}
http {
##
# การตั้งค่าพื้นฐาน
##
ส่งไฟล์บน;
tcp_nopush บน;
tcp_nodelay บน;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 120M;
# ปิด server_tokens;
# server_names_hash_bucket_size 64;
# server_name_in_redirect ปิด;
รวม /etc/nginx/mime.types;
แอปพลิเคชัน default_type/octet-stream;
##
# การตั้งค่า SSL
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
เปิด ssl_prefer_server_ciphers;
##
# การตั้งค่าการบันทึก
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# การตั้งค่า Gzip
##
เปิด gzip;
# gzip_vary บน;
# gzip_proxyed ใด ๆ ;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types ข้อความ/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;
##
# การกำหนดค่าโฮสต์เสมือน
ไซต์ที่มีจำหน่าย: alphamark-client
(เชื่อมโยงไปยังไซต์ที่เปิดใช้งาน)
เซิร์ฟเวอร์ {
server_name subdomain.example.com;
รูท /var/www/alphamark-client/public;
add_header X-Frame-ตัวเลือก "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
ดัชนี index.php;
ชุดอักขระ utf-8;
ที่ตั้ง / {
try_files $uri $uri/ /index.php?$query_string;
}
สถานที่ = /favicon.ico { access_log off; ปิด log_not_found; }
ตำแหน่ง = /robots.txt { access_log off; ปิด log_not_found; }
error_page 404 /index.php;
ตำแหน่ง ~ \.php$ {
fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
รวม fastcgi_params;
}
สถานที่ ~ /\.(?!เป็นที่รู้จัก).* {
ปฏิเสธทั้งหมด
}
ฟัง 443 ssl; # จัดการโดย Certbot
ssl_certificate /etc/letsencrypt/live/subdomain.example.com/fullchain.pem; # จัดการโดย Certbot
ssl_certificate_key /etc/letsencrypt/live/subdomain.example.com/privkey.pem; # จัดการโดย Certbot
รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot
}
เซิร์ฟเวอร์ {
ถ้า ($host = subdomain.example.com) {
ส่งคืน 301 https://$host$request_uri;
} # จัดการโดย Certbot
ฟัง 80;
server_name subdomain.example.com;
กลับ 404; # จัดการโดย Certbot
}
สภาพแวดล้อมแอปพลิเคชัน Laravel:
APP_NAME=AlphamarkClient
APP_ENV=การผลิต
APP_DEBUG=เท็จ
APP_URL=https://subdomain.example.com
เมื่อพยายามเข้าถึงโดเมนย่อย จะสามารถเข้าถึงเซิร์ฟเวอร์ได้ อย่างไรก็ตาม แถบที่อยู่จะอัปเดตเพื่อแสดง IP ของเซิร์ฟเวอร์ สิ่งนี้ยังทำลายใบรับรอง ssl ที่ลงทะเบียนกับโดเมนย่อยด้วย ความช่วยเหลือในการระบุว่าส่วนใดของการตั้งค่าของฉันทำให้เกิดพฤติกรรมนี้จะได้รับการชื่นชมอย่างมาก