2017-04-11 104 views
0

我有一个关于NGINX反向代理和不同应用程序的问题。NGINX和两个反应应用程序

这里是我的nginx的配置

server { 
    listen  443 ssl http2; 
    listen  80; 
    server_name example.com; 

    resolver 8.8.4.4 8.8.8.8 valid=300s; 
    resolver_timeout 10s; 

    ssl_stapling on; 
    ssl_stapling_verify on; 
    ssl_certificate /etc/ssl/private/fullchain.pem; 
    ssl_certificate_key /etc/ssl/private/privkey.pem; 
    ssl_trusted_certificate /etc/ssl/private/chain.pem; 
    ssl_dhparam /etc/pki/nginx/dhparam.pem; 

    # Set up preferred protocols and ciphers. TLS1.2 is required for HTTP/2 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_prefer_server_ciphers on; 
    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!aNULL:!ADH:!AECDH:!MD5; 
    # ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; 

    # This is a cache for SSL connections 
    ssl_session_cache shared:SSL:10m; 
    ssl_session_timeout 60m; 

    access_log off; 

    if ($http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan)) { 
     return 444; 
    } 

    location/{ 
     proxy_pass http://site; 
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 
     proxy_redirect off; 
     proxy_buffering off; 
     proxy_set_header  Host    $host; 
     proxy_set_header  X-Real-IP   $remote_addr; 
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

    location /acc { 
     proxy_pass http://acc; 
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 
     proxy_redirect off; 
     proxy_buffering off; 
     proxy_set_header  Host    $host; 
     proxy_set_header  X-Real-IP   $remote_addr; 
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

所以我的问题是如何为后面的反向代理的两个不同阵营的应用程序。

我需要为根路径上的第一个应用 - /和第二个应用/acc路径。

对于现在的第一个应用程序按预期工作。但第二个应用程序不起作用,因为它通过根路径/路由。

P.S. URL的http://sitehttp://acc看起来这样,因为我使用码头。

任何帮助表示赞赏。

+0

你可以尝试改变''位置'指令的顺序,首先按顺序检查'/ acc'。 – Panther

+0

@Panther它不起作用 –

回答

1

看起来这不是一个NGINX问题。

在为第二应用我的index.html文件,我有以下进口:

<script src="/vendor.bundle.js"></script> 
<script src="/js.bundle.js"></script> 

当我已经改变了我进口

<script src="vendor.bundle.js"></script> 
<script src="js.bundle.js"></script> 

所有工作得很好。

相关问题