【问题标题】:Problem with Nginx: Page shows IP address instead of server nameNginx 的问题:页面显示 IP 地址而不是服务器名称
【发布时间】:2020-04-23 01:31:01
【问题描述】:

我已经在 Ubuntu Server 18.04 上安装了 Nginx,并试图让它与 Odoo 一起工作。

步骤:

  • 为我想要的指向我的服务器的“子域”注册了一条 A 记录;

(在浏览器上测试 mysubdomain.com 并正确重定向到我的服务器 - 我可以看到服务器 IP 地址和默认 nginx 欢迎页面)

  • 使用以下设置设置我的“默认站点”:

    server {
    
        listen 80 default_server;
        listen [::]:80 default_server;
    
        root /var/www/html;
    
        #Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;
    
        server_name mysubdomain.mydomain.com;
    
        location / {
                proxy_pass http://localhost:8069;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Conection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                }
    }
    

重新启动 Nginx 服务并在浏览器上输入“mysubdomain.mydomain.com”后,一切正常,但浏览器显示我的 IP 而不是在网址上保留“mysubdomain”。

有什么问题?

2020 年 1 月 5 日编辑

我已经重新创建了我的 VPN 并将我的子域的 A 记录更改为新 IP 并重新安装了 Nginx。

这次一切正常,我认为问题与域名托管服务有关。也许我必须等待一段时间才能让子域名传播或其他。

【问题讨论】:

  • 这可能只是您的术语,但it correctly redirects to my server确切是什么意思?设置 A 记录不涉及任何重定向。检查您的浏览器的 devtools 网络选项卡 - 您是否看到一个 200 GET 请求,或者您是否真的看到了第二个带有 301 状态或类似重定向的 GET 请求?如果你是,那是你的问题。

标签: nginx


【解决方案1】:

这通常发生在您的 Host 标头在代理传递时丢失。可以加proxy_add_header Host "mysubdomain.mydomain.com"吗?

此外,作为一种良好的卫生习惯,proxy_pass 指令应在 proxy_set_headers 之后使用。

【讨论】:

  • 阿南德,谢谢。我已经更新了我的问题。无论如何,我已经“保存”了您的答案以供参考。
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 2019-12-22
  • 2020-12-01
  • 2017-06-01
  • 2017-01-03
  • 2017-09-18
  • 2015-04-15
  • 1970-01-01
相关资源
最近更新 更多