设置 nginx,使用 IP 作为服务器名称

cla*_*rkk 7 nginx

如何设置nginx以IP地址作为服务器名称?

server {
    listen  80;
    server_name  xx.xx.xx.xx;

    location /test {
        root  /var/www/test;
    }

    location ~ \.php$ {
        include  /var/ini/nginx/fastcgi.conf;
        fastcgi_pass  php;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /var/www/test$fastcgi_script_name;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我想像这样访问服务器

http://xx.xx.xx.xx/test/ => index.php
http://xx.xx.xx.xx/test/foo.php => foo.php
Run Code Online (Sandbox Code Playgroud)

Jos*_*ths 7

您可以将 IP 地址作为服务器名称:

\n\n
server {\n    listen 80;\n    server_name 192.168.1.21;\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可能还想将配置更改为仅侦听指定的 IP 地址:

\n\n
server {\n    listen 192.168.1.21:80;\n    server_name 192.168.1.21;\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

以下内容来自文档:http://nginx.org/en/docs/http/server_names.html

\n\n
\n

如果有人使用 IP 地址而不是服务器名称\n 发出请求,则 \xe2\x80\x9cHost\xe2\x80\x9d 请求标头字段将包含 IP 地址,\n 可以使用 IP 地址处理该请求作为服务器名称:

\n
\n\n
server {\n    listen       80;\n    server_name  example.org\n                 www.example.org\n                 ""\n                 192.168.1.1\n                 ;\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n