我有一个使用Nginx和php-fpm的docker环境。
这是我的nginx conf。
server {
sendfile off;
server_name project.dev;
listen 80;
root /var/www/html/project/web;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app_dev.php/$1 last;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass php-fpm:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
我在project.dev
文件中添加了/etc/hosts
。
使用project.dev
时效果很好。
但是我希望将server_name project.dev;
替换为server_name _;
,因此与端口80的每个连接都将转到我的应用,并将在开发中工作。
但是当我这样做时它不起作用。
使用端口80的每个连接进入我的项目而不使用服务器名称的配置是什么?
答案 0 :(得分:2)
取消server_name
并在您的监听中使用default_server
:
server {
listen *:80 default_server;
...
}