首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示IP地址而不是域的nginx

问显示IP地址而不是域的nginx
EN

Stack Overflow用户
提问于 2020-05-02 06:21:26
回答 2查看 1.8K关注 0票数 3

我有一个谷歌爸爸A记录指向我的数字海洋IP地址。

下面是nginx的配置。

代码语言:javascript
复制
server {
    listen 80 default_server;
    server_name domain.com www.domain.com;
    location / {
       proxy_pass 'http://127.0.0.1:3004';
    }
}

当我键入domain.com时,它会转到服务器,但地址栏显示IP地址。

如何显示域名?

EN

回答 2

Stack Overflow用户

发布于 2020-05-02 07:24:31

这很可能是来自proxy_pass的重定向。我不确定你在后台运行的是什么,但你可以尝试传递hostname。

代码语言:javascript
复制
proxy_set_header Host      $host;

在proxy_pass后面添加这一行,告诉后端请求头部中是哪个域名。

票数 2
EN

Stack Overflow用户

发布于 2020-05-02 13:03:39

到IP地址的重定向很可能是由proxy_pass中的后端完成的。您可以尝试添加一些头部,以帮助后端了解请求的上下文。

作为初学者,我建议使用以下配置:

代码语言:javascript
复制
server {
    listen 80 default_server;
    server_name domain.com www.domain.com;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;


    location / {
       proxy_pass 'http://127.0.0.1:3004';
    }
}

如果使用Node.JS,您可能还需要以下行:

代码语言:javascript
复制
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';

也请检查后端的配置。您可能需要设置访问URL、上下文路径等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61551695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档