у меня есть Убунту 20.04.1 ЛТС
и я бегу nginx/1.18.0 (Убунту)
.
У меня в основном есть три файла конфигурации в моей папке /etc/nginx/сайты-доступны
так как я хотел бы направлять запросы на:
- myserver.com
- immos.myserver.com
- items.myserver.com
Мой myserver.com
файл конфигурации выглядит следующим образом:
сервер {
имя_сервера myserver.com www.myserver.com;
корень /var/www/main-application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-защита "1; режим = блок";
add_header X-Content-Type-Options "nosniff";
индекс index.html index.htm index.php;
кодировка utf-8;
место расположения / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found выключен; }
location = /robots.txt { access_log off; log_not_found выключен; }
страница_ошибки 404 /index.php;
расположение ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
включить fastcgi_params;
}
расположение ~ /\.(?!известно).* {
отрицать все;
}
слушать 443 ssl; # под управлением Certbot
ssl_certificate /etc/letsencrypt/live/myserver.com/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/myserver.com/privkey.pem; # под управлением Certbot
включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
}
сервер {
если ($ хост = www.myserver.com) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
если ($ хост = myserver.com) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
слушать 80;
имя_сервера myserver.com www.myserver.com nlg.myserver.com;
вернуть 404; # под управлением Certbot
}
Конфигурация nginx моего immos.myserver.com
выглядит следующим образом:
сервер {
слушать 80;
имя_сервера immos.myserver.com;
корень /var/www/immos-application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-защита "1; режим = блок";
add_header X-Content-Type-Options "nosniff";
индекс index.html index.htm index.php;
кодировка utf-8;
место расположения / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found выключен; }
location = /robots.txt { access_log off; log_not_found выключен; }
страница_ошибки 404 /index.php;
расположение ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
включить fastcgi_params;
}
расположение ~ /\.(?!известно).* {
отрицать все;
}
}
Моя конфигурация nginx items.myserver.com
выглядит следующим образом:
сервер {
слушать 80;
имя_сервера items.myserver.com;
корень /var/www/items_application/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-защита "1; режим = блок";
add_header X-Content-Type-Options "nosniff";
индекс index.html index.htm index.php;
кодировка utf-8;
место расположения / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found выключен; }
location = /robots.txt { access_log off; log_not_found выключен; }
страница_ошибки 404 /index.php;
расположение ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
включить fastcgi_params;
}
расположение ~ /\.(?!известно).* {
отрицать все;
}
}
Все поддомены и домен маршрутизируются по DNS на мой ip сервера.
я могу открыть myserver.com
и перенаправить на нужную страницу.
НО при открытии immos.myserver.com
, items.myserver.com
Я получаю маршрут к приложению, которое работает на myserver.com
.
Все три приложения являются приложениями laravel.
Любые предложения, что я делаю неправильно?