我正在使用Nginx + Gunicorn + Django在Ubuntu上构建服务器。
我有一个域名注册到godaddy,重定向到服务器的IP。Nginx配置如下所示:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name mydomainname.com www.mydomainname.com localhost;
location / {
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/path/to/my/socket.sock;
}
}在浏览器中键入域名时,将正确地重定向到服务器。但是,浏览器中的url现在显示的是IP而不是域名。
如何使服务器显示域名而不是IP?
(Godaddy提供了一个使用前向掩蔽的选项,但有人建议我不要使用它,而且浏览器在尝试这种方法时总是抱怨跨源问题。)
我甚至不确定我是否需要改变Nginx,Gunicorn或Django的一些东西。
发布于 2018-01-16 22:58:46
我发现了问题,这与Nginx的配置无关。我找错地方了。
在我购买域名的网站上,我错误地设置了一个URL转发命令。我应该设置一个类型'A‘DNS记录。我不知道这是两件不同的事情,很不幸在找到DNS记录之前找到了URL转发功能。
发布于 2018-01-16 20:12:32
样本配置建议您还需要向上游传递Host:头。例如,从相同的配置中删除:
proxy_set_header Host $http_host;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;https://serverfault.com/questions/892527
复制相似问题