我有一个谷歌爸爸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地址。
如何显示域名?
发布于 2020-05-02 07:24:31
这很可能是来自proxy_pass的重定向。我不确定你在后台运行的是什么,但你可以尝试传递hostname。
proxy_set_header Host $host;在proxy_pass后面添加这一行,告诉后端请求头部中是哪个域名。
发布于 2020-05-02 13:03:39
到IP地址的重定向很可能是由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、上下文路径等。
https://stackoverflow.com/questions/61551695
复制相似问题