我无法配置我的nginx的代理,尽管读了一些指南,并试图连续三个晚上。
(来自互联网)所有的80端口的流量重定向到192.168.1.4
,Ubuntu的服务器虚拟运行Nginx的。
我有一个NAS,其具有连接到管理页面的子域myName.surname.com
。对NAS,我有Apache网络服务器上运行的托管几个网站的端口81,82,
所述NAS使用virtualhosts,所以域成功重定向(不使用nginx的)。
我也有一个ASP.NET网站上的另一个192.168.1.3:9810
在IIS上运行。
现在,这里是我的NGINX配置。我试图将其配置了几次,但把它弄坏了,所以我已经把它恢复到默认状态:
server {
listen 80 default_server;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
proxy_pass http://192.168.1.1; #WORKS OK
}
}
如果我去myName.surname.com
或wordpressWebsite.co.uk
或myIISSiteDomain.co.uk
我与配置高于192.168.1.1:8080或192.168.1.1:81用正确的页面映入眼帘。
这是一个开始。
第一个问题是,当我浏览到任何其他页面(不主页)像wordpressWebsite.co.uk/blog,它打破了给404所以我试图URL之间进行区分?我读的配置应该是这样的:
server {
listen 80;
server_name wordpressWebsite.co.uk;
location / {
proxy_pass http://192.168.1.1:81;
}
}
server {
listen 80;
server_name myName.surname.com;
location / {
proxy_pass http://192.168.1.1;
}
}
server {
listen 80 myIISSiteDomain.co.uk
location / {
proxy_pass http://192.168.1.3:9810;
}
}
但是,这并不完全正确。
1)wordpressWebsite.co.uk加载了页面,但只要我去一个像wordpressWebsite.co.uk/blog任何其他链接它打破了,给我喜欢它试图访问192.168.1.1/blog而我的NAS错误信息比虚拟主机〜/博客。实际上,它改变了我的网址导航栏中为192.168.1.1那么,为什么表现这样的吗?
2)如果我使用的是虚拟主机,我不认为我应该需要通过nginx的港口以通为192.168.1.1:81(wordpressWebsite.co.uk)。当然我只是需要把它指向192.168.1.1,然后虚拟主机应检测的URL映射到81?我不知道如何做到这一点,因为我不完全理解什么是真正会从nginx的传递到服务器?
您可以添加try_files $uri $uri/ /index.php?$args;
看到这个https://www.geekytuts.net/linux/ultimate-nginx-configuration-for-wordpress/