无法从本地网络连接到我的网络服务器

Can't connect to my webserver from within the local network

它在外部 (ipv4) 工作。

我的 nginx 配置一定是搞砸了,因为当我浏览 192.168.xxx.xxx(我的网络服务器的地址)时,我被转发到我主页的 DNS。即使我在网络服务器本身的浏览器栏中使用 "localhost" 或“0.0.0.0”,它也不起作用。

谁能告诉我如何正确解决这个问题?如果我插入 "cooldomain.com" 以外的任何其他内容,则无法从外部访问它,对吗?但必须有解决办法。

nginx 服务器 运行 在一个 docker 容器中,它基于官方 nginx 镜像。

这是我的 nginx 配置文件:

server {
    listen 80;
    listen 443 ssl http2;
    server_name cooldomain.com;
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers On;
    ssl_certificate /usr/share/nginx/fullchain.pem;
    ssl_certificate_key /usr/share/nginx/privkey.pem;
    ssl_trusted_certificate /usr/share/nginx/chain.pem;
    ssl_session_cache shared:SSL:128m;
    add_header Strict-Transport-Security "max-age=31557600; includeSubDomains";
    ssl_stapling on;
    ssl_stapling_verify on;

    # Your favorite resolver may be used instead of the Google one below
    # resolver 8.8.8.8;
    # /usr/share/nginx/html;
    # index index.html;

    # charset koi8-r;
    # access_log  /var/log/nginx/host.access.log  main;

    location / {
    if ($scheme = http) {
            return 301 https://$server_name$request_uri;
        }
        root   /usr/share/nginx/html;
        # index  index.html index.htm;
    try_files $uri$args $uri$args/ /index.html;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

编辑:

docker ps 的输出:

faXXXXX nginx "nginx -g 'daemon off" 14 minutes ago, up 14 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp webserver (遗憾的是这不是复制粘贴)

curl -v 的输出http://127.0.0.1:

$ curl -v http://127.0.0.1
Rebuilt URL to: http://127.0.0.1/
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: curl/7.47.0
Accept: 

HTTP/1.1 301 Moved Permanently
Server: nginx/1.13.3
Date: Wed, 20 Sep 2017 15:46:55 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://cooldomain.com/
Strict-Transport-Security: max-age=31557600; includeSubDomains

Connection #0 to host 127.0.0.1 left intact

我设法解决了它。我不知道这是否是正确的方法,但它确实起作用了。

我在我的服务器块之前添加了另一个服务器块,它有 default_server 前缀。

如果您有更好的想法,请随时写下答案。 :)

这是我的配置文件现在的样子。注意第一块:

server {
    listen 80;
    server_name 127.0.0.1 default_server;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

server {
    listen 80;
    listen 443 ssl http2;
    server_name cooldomain.com;
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers On;
    ssl_certificate /usr/share/nginx/fullchain.pem;
    ssl_certificate_key /usr/share/nginx/privkey.pem;
    ssl_trusted_certificate /usr/share/nginx/chain.pem;
    ssl_session_cache shared:SSL:128m;
    add_header Strict-Transport-Security "max-age=31557600; includeSubDomains";
    ssl_stapling on;
    ssl_stapling_verify on;

    # Your favorite resolver may be used instead of the Google one below
    # resolver 8.8.8.8;
    # /usr/share/nginx/html;
    # index index.html;

    # charset koi8-r;
    # access_log  /var/log/nginx/host.access.log  main;

    location / {
    if ($scheme = http) {
            return 301 https://$server_name$request_uri;
        }
        root   /usr/share/nginx/html;
        # index  index.html index.htm;
    try_files $uri$args $uri$args/ /index.html;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}