tôi đang có một Ubuntu 20.04.1 LTS
và tôi đang chạy nginx/1.18.0 (Ubuntu)
.
Về cơ bản, tôi có ba tệp cấu hình trong thư mục của mình /etc/nginx/sites-available
vì tôi muốn định tuyến các yêu cầu tới:
- myserver.com
- immos.myserver.com
- item.myserver.com
Của tôi myserver.com
tập tin cấu hình trông giống như sau:
người phục vụ {
server_name myserver.com www.myserver.com;
root /var/www/main-application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
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; }
error_page 404 /index.php;
vị trí ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
vị trí ~ /\.(?! nổi tiếng).* {
Phủ nhận tất cả;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/myserver.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/myserver.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = www.myserver.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = myserver.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80;
server_name myserver.com www.myserver.com nlg.myserver.com;
trả lại 404; # được quản lý bởi Certbot
}
Nginx-config của tôi immos.myserver.com
trông giống như sau:
người phục vụ {
nghe 80;
server_name immos.myserver.com;
gốc /var/www/immos-application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
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; }
error_page 404 /index.php;
vị trí ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
vị trí ~ /\.(?! nổi tiếng).* {
Phủ nhận tất cả;
}
}
Cấu hình nginx của tôi về item.myserver.com
trông giống như sau:
người phục vụ {
nghe 80;
server_name items.myserver.com;
gốc /var/www/items_application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
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; }
error_page 404 /index.php;
vị trí ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
vị trí ~ /\.(?! nổi tiếng).* {
Phủ nhận tất cả;
}
}
Tất cả các tên miền phụ và tên miền được định tuyến trên DNS tới ip của máy chủ của tôi.
tôi có thể mở myserver.com
và được định tuyến đến đúng trang.
NHƯNG khi mở immos.myserver.com
, item.myserver.com
Tôi được chuyển đến ứng dụng đang chạy trên myserver.com
.
Cả ba ứng dụng đều là ứng dụng laravel.
Bất cứ đề nghị những gì tôi đang làm sai?