我使用类似 url 从远程计算机连接到我的 nginx Web 服务器内容没有任何问题http://foo.bar/media/baz.jpg
,但是当我在计算机内部(或同一网络中的其他计算机)尝试时,连接超时。如果我foo.bar
用localhost
或本地 IP 地址替换,它会返回 404。
我的 vHost 文件如下:
server {
listen 80;
listen 443 ssl;
server_name foo.bar;
client_max_body_size 100M;
proxy_read_timeout 1000s;
access_log off;
location /media/ {
alias /home/foo/media/;
}
location /static/ {
alias /home/foo/static_root/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
ssl_certificate /etc/letsencrypt/live/blahblah/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/blahblah/privkey.pem; # managed by Certbot
}
附言:如果我添加以下记录,/etc/hosts
我就能让它工作:
foo.bar 192.168.x.x #local IP address
答案1
如果返回 404,则表示您实际上已连接到服务器。但似乎您的虚拟主机未配置为响应此主机名/ip。
如果只有一个server {}
块,您可以使用特殊值_
(下划线)让它回答每个可用的名称或添加localhost
到您的server_name
s。