我读过许多文章(主要是这个),但我仍然无法理解为什么我的url没有正确地被重定向。
我在运行Ubuntu的192.168.1.4上有一个虚拟版本。我安装了nginx,我可以看到nginx欢迎页面。
路由器端口80的所有流量都成功地重定向到192.168.1.4。
我有这样的网站:
Site1 - 192.168.1.3:9810 (IIS) - www.mydomain1.com
192.168.1.1
Site2 - 192.168.1.1:8080 (admin page for my server) www.mydomain2.com
Site3 - 192.168.1.1:81 (a wordpress site) www.mydomain3.com
现在,对于所有三个域,我正在访问nginx欢迎页面,因此我知道问题在于我的配置,如下所示:
server {
listen 80;
server_name mydomain1.com;
location / {
proxy_pass http://192.168.1.3:9810;
}
}
server {
listen 80;
server_name mydomain2.com;
location / {
proxy_pass http://192.168.1.1:8080;
}
}
server {
listen 80;
server_name mydomain3.com;
location / {
proxy_pass http://192.168.1.1:81;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
proxy_pass http://192.168.1.1:8080;
}
}
我做错了什么?我对每一个人进行了单独的测试,方法如下:
URL: 192.168.1.4:80/ --redirects--> 192.168.1.3:9810
并且它正确地重定向
发布于 2017-04-26 18:56:48
这在一定程度上像是默认的服务器问题。在任何地方都有default_server指令吗?还是使用默认Nginx页面定义的任何其他服务器?
我认为正在发生的是Nginx查看请求中的域名,但是由于您使用的是IP,所以它并不是在为默认服务器服务。
如果这是问题所在,解决方案是使用域名而不是IP向服务器发出请求。如果您没有设置公共DNS,请使用本地主机文件进行测试。这将进入您的客户端主机文件,以快捷DNS为这些域。
192.168.1.4 example.com www.example.com example2.com
主机是为Unix而来的
/etc/hosts
Windows操作系统
c:\windows\system32\drivers\etc\hosts
下面是我使用的默认服务器
server {
listen 80 default_server;
server_name _;
return 444; # This means "go away", effectively
}
https://serverfault.com/questions/846717
复制相似问题