nginx反向代理多域
我的nginx配置有一些问题。顺便说一下,我是nginx的新手 我想在一台服务器上托管多个网站。已安装Ubuntu 16.04 例如: www.myDomain.com-应指向正常的webroot eq:/var/www/html wiki.myDomain.com-应该在localhost:8090上反向代理到我的汇流应用程序 blog.myDomain.com-应指向另一个webroot eq:/var/www/blog 我试图配置基本url=www.myDomain.com和wiki反向代理 我的文件如下所示: 默认值:nginx反向代理多域,nginx,reverse-proxy,Nginx,Reverse Proxy,我的nginx配置有一些问题。顺便说一下,我是nginx的新手 我想在一台服务器上托管多个网站。已安装Ubuntu 16.04 例如: www.myDomain.com-应指向正常的webroot eq:/var/www/html wiki.myDomain.com-应该在localhost:8090上反向代理到我的汇流应用程序 blog.myDomain.com-应指向另一个webroot eq:/var/www/blog 我试图配置基本url=www.myDomain.com和wiki反向代
server {
listen 80 default_server;
# listen [::]:80 default_server;
server_name myDomain.com www.myDomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name myDomain.com www.myDomain.com
include snippets/ssl-www.myDomain.com.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name myDomain.com www.myDomain.com;
location / {
allow all;
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
}
server {
listen 80;
# listen [::]:80;
server_name wiki.myDomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen wiki.myDomain.com:443 ssl;
# listen [::]:443;
add_header Strict-Transport-Security "max-age=31536000";
include snippets/ssl-wiki.myDomain.com.conf;
include snippets/ssl-params.conf;
# root /var/www/wiki.myDomain.com;
location /.well-known {
root /var/www/wiki.myDomain.com/;
# default_type text/plain;
}
location / {
client_max_body_size 100m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8090;
}
location /synchrony {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8091/synchrony;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
my wiki.myDomain.com,不带反向代理:
server {
listen 80 default_server;
# listen [::]:80 default_server;
server_name myDomain.com www.myDomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name myDomain.com www.myDomain.com
include snippets/ssl-www.myDomain.com.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name myDomain.com www.myDomain.com;
location / {
allow all;
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
}
server {
listen 80;
# listen [::]:80;
server_name wiki.myDomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen wiki.myDomain.com:443 ssl;
# listen [::]:443;
add_header Strict-Transport-Security "max-age=31536000";
include snippets/ssl-wiki.myDomain.com.conf;
include snippets/ssl-params.conf;
# root /var/www/wiki.myDomain.com;
location /.well-known {
root /var/www/wiki.myDomain.com/;
# default_type text/plain;
}
location / {
client_max_body_size 100m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8090;
}
location /synchrony {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8091/synchrony;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
我的问题是:
Wiki.myDomain.com运行良好!
由于某种原因,www.eida.at总是自动转发到
有了www.myDomain.com,我希望有一个单独的网站-不转发到wiki。似乎任何时候都会使用反向代理部分——不管我选择哪个url
谢谢你的帮助 使用
nginx-T
测试配置并查看nginx
正在使用什么。听起来好像只使用了第二个配置文件。另外,在一个server
块中有两个server\u name
指令,而在另一个块中没有指令。nginx正在使用/etc/nginx/nginx.conf-此文件中包括/sites enabled目录中的所有文件。在这个文件中,我的两个配置文件都包括在内。所以应该没问题。我相应地更正了服务器名称命令-相同的结果。当我在浏览器中输入www.myDomain.com时,它会将我一直转发到wiki.myDomain.com。我现在测试了一个新的安装了Ubuntu的nginx installaltion。首先,我为www.myDomain.com创建了默认配置。这样做没有任何问题。然后我用不同的web根配置了一个简单的虚拟域。结果是,我可以通过test.myDomain、com访问虚拟域,但每当我尝试访问www.myDomain.com时,它都会将我重定向到test.myDomain.com。我的问题是否可能在其他地方,而不是在nginx配置中?也许是DNS记录?我创建了一个记录到公共IP的子域。或者可能是服务器的hosts文件?出于某种原因,nginx似乎无法区分子域。。。