我有一个客户端,它有一个现有的域名,但目前还不能指向我的服务器。
因此,与此同时,我添加了我的节点应用程序并配置了反向代理。这是我所做的:
1)将域条目添加到本地机器的hosts文件中:
134.209.53.229 example.com
134.209.53.229 www.example.com
2)在我的服务器主机文件上,我做了同样的事情:
134.209.53.229 example.com
134.209.53.229 www.example.com
3) 我的 nginx 反向代理设置。这是我的/etc/nginx/sites-available/default
文件:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.js index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
现在,如果我访问任何子路径,例如http://example.com/products
,一切都正常。
但是,当我访问根目录时http://example.com
- 内容按预期提供,但浏览器地址栏中的地址更改为http://134.209.53.229
。
查看 devtools 网络选项卡,我看到发起者是 example.com,但在请求标头中主机实际上是134.209.53.229
(不是 example.com)。
我上述操作是否导致了此问题?还是我应该深入研究我的应用程序?到目前为止,我还没有在应用程序内找到任何原因。
编辑:看来这种情况只发生在 Google Chrome 中。这是 Chrome 的预期行为吗?