簡體   English   中英

用於本地webapp和websocket的Nginx設置

[英]Nginx setup for local webapp and websocket

以下是我的nginx配置,

server { //PART-1   
        listen 80;
        server_name _;
        location / {
                proxy_pass http://127.0.0.1:8090;
                proxy_redirect off;
                proxy_pass_request_headers on;

                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;

                proxy_http_version 1.1;
                proxy_set_header Upgrade  $http_upgrade;
                proxy_set_header Connection Upgrade;
            }
        }

server { //PART-2
        listen 80;
        server_name service;
        root /usr/local/tomcat7/webapps/service-snapshot;

        location / {
                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://127.0.0.1:8080/ServiceUI/;
                }
        }

config的第一部分對我已經在使用的websockets正常工作。 config的第二部分是針對在Apache tomcat 7.0.56上運行的webapp,該服務器無法正常工作。

配置有問題嗎? 假設這兩部分中的server_name可能引起問題! 有什么建議么!

雖然在一個IP和端口上具有多種服務可以正常工作,但是server_name指令使用的是客戶端/瀏覽器提交的HOST標頭。 在這種情況下,您不是在提供標題,而是在同一服務器上詢問特定的位置(不是從http://_http://service而是從http://yourserver/services我在評論中看到的內容)。

要使其正常工作,您必須通過location指定不同的服務,如下所示:

server { 
    listen 80;
    server_name THIS_IS_WHERE_YOUR_DOMAIN_OR_MAYBE_LOCALHOST_GOES;
    location / {
            proxy_pass http://127.0.0.1:8090;
            proxy_redirect off;
            proxy_pass_request_headers on;

            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;

            proxy_http_version 1.1;
            proxy_set_header Upgrade  $http_upgrade;
            proxy_set_header Connection Upgrade;
    }


    location /Service {

            root /usr/local/tomcat7/webapps/service-snapshot;

            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://127.0.0.1:8080/ServiceUI/;
            }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM