网上的人说需要在那里写域名 。但是问题是 ,别人在浏览器输入一个域名 ,通过 DNS 服务器直接被浏览器自动转化为我的代理服务器的具体IP了 ,代理服务器根本就没有机会知道客户端是通过哪一个域名访问的自己啊 ,毕竟在底层上客户端仍旧是靠 IP 地址访问的自己啊
这个应该Nginx反向代理的作用,
配置Nginx转发条件也是非常简单
upstream myserver {
server 您的服务器的IP地址1:5000 weight=10;
server 您的服务器的IP地址1:5000 weight=20;
}
server {
server_name 您的域名;
location / {
#proxy_pass http://localhost:5000;
proxy_pass http://myserver;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name 您的域名;
rewrite ^(.*)$ https://$host$1 permanent;
}
http 请求头里面有域名信息啊,nginx可以解析这个啊
客户端(浏览器)与web服务(nginx)是通过http协议交互的。http协议报文请求头部(request headers
)报文中Host
字段记录了域名。通过server_name
匹配Host
做特殊处理
先了解一下域名【组成】~~自然回路一转就明白了。