nginx - nginx没有绑定到所有接口
问题描述
我编写了一个新的默认 conf(覆盖默认的默认 conf),但文件仅在本地提供。但是,文件不在本地主机之外提供
curl my_ip/a >> not found
curl 127.0.0.1/a >> "it works!"
(a 是 /var/www/html 中的文件)
这是我的配置
server {
listen *:80 default_server;
listen [::]:80 default_server;
index index.html index.htm index.nginx-debian.html;
server_name _;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location /test {
stub_status on;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow ::1;
deny all;
}
}
根据一些文章,我尝试在位置 / 中添加根指令,使用 index 而不是 try_files ...我无法理解的是,如果我将 *:80 替换为本地接口 IP(192.168.1.x)然后它在局域网/互联网上工作,但不再来自本地主机。
似乎 nginx 只听一个接口(而 *:80 或 80 应该听所有)。
卷曲 index.html(来自公共 IP 或本地主机)提供文件,但不是 /var/www/html 下的文件,而是默认的 /use/share/nginx..)
我启用了其他配置,但没有一个具有 default_server 或 server_name _; 指令。
根据 nginx.conf 仅在 /etc/nginx/site-enabled 文件夹中搜索 conf。
顺便说一句,我有两个 nic。
谢谢您的帮助 :)
更新:它现在正在工作
listen 80 default_server;
listen [::]:80 default_server;
index index.html index.htm index.nginx-debian.html;
server_name _;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow ::1;
deny all;
}
问题一定出在其他地方,但不知道在哪里......
解决方案
推荐阅读
- azure - Azure AD B2C API 连接器用户属性
- memory - 释放 cJSON 对象时的 cJSON 内存泄漏
- javascript - 错误:[vuex] 不要在突变处理程序 vuex (nuxt.js) 之外改变 vuex 存储状态
- java - java 流 java.util.stream.ReferencePipeline$3@7291c18f
- python-3.x - 如何在 VS Code 中禁用单行格式?
- reactjs - 为组件的 prop 设置一个值,该组件作为其父组件的另一个 prop 传入
- javascript - 选择用于录音的 web api
- typescript - 打字稿:接口获取属性的默认值
- python-3.x - 使用 django 分配一个简单的 HTML 站点
- django - 成功后如何重定向UpdateView?