2017-04-06 39 views
1

我有两个nginx服务器A和B. B有一个用于example.com的服务器块,其中包含http到https重定向。现在,我想一个指挥交通的example.com直接到B.我尝试以下如何在同一个域上的nginx服务器之间重定向?

在答:

upstream ipOfB { 
    server 12.34.56.78; 
} 

server { 
    listen 80; 
    listen 443; 
    server_name example.com; 
    location/{ 
     proxy_set_header Host $host; 
     proxy_pass http://ipOfB; 
    } 
}` 

在B:

upstream docker { 
    server 0.0.0.0:8080; 
} 

server { 
    listen 80; 
    server_name example.com; 
    return 301 https://$host$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name example.com 

    location/{ 
    ... 
    } 
} 

我得到过多的重定向当我尝试example.com。

+0

你有解决方案吗?我有同样的问题。 – Stony

回答

0

有侦听端口80,但重定向到443类似下面的服务器块:

upstream example { 
    server  localhost:3000; 
} 

server{ 
    listen 443; 
    server_name example.com; 

    ssl on; 
    #Other SSL Configuration 

    location/{ 
    proxy_pass http://example; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    } 
} 

server{ 
    listen 80; 
    server_name example.com; 
    root /usr/share/nginx/html; 

    location/{ 
    proxy_pass http://example; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    } 
    return 301 https://example.com; 
} 

要使用免费SSL测试出你可以检查此article

相关问题