我有一个godaddy A记录指向我的数字海洋IP地址。下面是nginx的配置。
server { listen 80 default_server; server_name domain.com www.domain.com; location / { proxy_pass 'http://127.0.0.1:3004'; } }
当我输入domain.com时,它会转到服务器,但地址栏显示IP地址。如何显示域名?
domain.com
acruukt91#
这很可能是从proxy_pass重定向。我不知道你在后端运行什么,但你可以尝试通过主机名。
proxy_set_header Host $host;
在proxy_pass之后添加这一行,告诉后端请求头中的域。
wbrvyc0a2#
重定向到IP地址 * 很可能 * 是由proxy_pass中的后端完成的。您可以尝试添加一些头来帮助后端理解请求的上下文。我建议作为初学者使用以下配置:
proxy_pass
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,你可能还需要下面这行:
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade';
也请检查您的后端的配置。您可能需要设置访问URL、上下文路径等。
4bbkushb3#
这个问题来自Godaddy的默认转发配置。您必须与他们的支持团队交谈,以进行必要的更改。这就是我如何解决与他们相同的问题。
3条答案
按热度按时间acruukt91#
这很可能是从proxy_pass重定向。我不知道你在后端运行什么,但你可以尝试通过主机名。
在proxy_pass之后添加这一行,告诉后端请求头中的域。
wbrvyc0a2#
重定向到IP地址 * 很可能 * 是由
proxy_pass
中的后端完成的。您可以尝试添加一些头来帮助后端理解请求的上下文。我建议作为初学者使用以下配置:
如果使用Node.js,你可能还需要下面这行:
也请检查您的后端的配置。您可能需要设置访问URL、上下文路径等。
4bbkushb3#
这个问题来自Godaddy的默认转发配置。您必须与他们的支持团队交谈,以进行必要的更改。这就是我如何解决与他们相同的问题。