我在我的机器上运行了两个nodejs
服务器,我希望mydomain.example.com/
由除mydomain.example.com/exception
之外的其中一台服务器提供服务。 我正在使用nginx
并试图做到这一点,但没有奏效。 如何才能做到这一点?
server { listen 80; server_name mydomain.example.com; return 301 https://$server_name$request_uri; } server { listen 443 default_server ssl; server_name mydomain.example.com; keepalive_timeout 70; ssl_certificate /etc/chained.crt; ssl_certificate_key /etc/key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://localhost:8081; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } location /exception { proxy_pass http://localhost:9000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
编辑 :我的问题是, mydomain.example.com/exception
的请求由服务器端口8081服务,而不是9000。
编辑2 :我误解了以前的编辑行为。 mydomain.example.com/exception
由服务器在端口9000上服务,但我期望mydomain.example.com/exception
是该服务器的根目录,但是没有。 我认为这个configuration将使mydomain.example.com/exception
等效于mydomain.example.com:9000
,但它使mydomain.example.com:9000/exception
。 所以更新后的问题是:我希望mydomain.example.com/exception
的工作方式与通过指定端口9000访问服务器的方式完全相同。这怎么办?