我有一台Nginx服务器,上面运行着两个React应用。除了这两个React应用程序之外,它们还都具有API。
React App 1:在端口3000
上运行,并带有/api/*
对端口3001
的请求的代理,端口App 1
是5000
的API
React App 2:在端口/api/*'
上运行,并带有5001
对端口App 2
的请求的代理,端口upstream app1 {
server 127.0.0.1:3000;
}
upstream app2 {
server 127.0.0.1:5000;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _:
return 301 https://$host$request_uri;
}
server {
listen 443 http2 ssl;
error_log /var/log/nginx/cto-pilot-01.log warn;
access_log /var/log/nginx/cto-pilot-01_access.log main;
server_name cto-pilot-01.onetap.ca;
server_tokens off;
ssl_certificate /etc/nginx/ssl/wildcard_onetap_ca_EC.pem;
ssl_certificate_key /etc/nginx/ssl/wildcard_onetap_ca_EC.key;
ssl_certificate /etc/nginx/ssl/wildcard_onetap_ca_RSA.pem;
ssl_certificate_key /etc/nginx/ssl/wildcard_onetap_ca_RSA.key;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!LOW:$
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header strict-transport-security "max-age=63072000; includeSubdomains; preload";
location /whoami {
root /opt/www;
}
location / {
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
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_set_header X-Real-IP $remote_addr;
proxy_buffering off;
proxy_store off;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_ssl_session_reuse off;
if ($host = 'app1.mywebsite.ca') {
proxy_pass http://app1;
}
if ($host = 'app2.mywebsite.ca') {
proxy_pass http://app2;
}
}
}
是App 1
的API
我的Nginx配置运行一个反向代理,配置如下:
App 2
现在,我有两个问题。注意:直到昨天为止,一切都运转良好,不确定出了什么问题。最好的猜测是与react或nginx有关。
问题1 :<a href="http://localhost:5000">...</a>
上的按钮重定向到App 1
。以前,我们只能使用App 2
并可以使用,但是现在由于某些原因,当我们单击按钮时,它告诉浏览器转到http://localhost:5000,显然返回的网站无法到达。>
问题2 :Axios.post('http://localhost:5000/api/whatever')
中的几个API请求使用App 2
的API服务器-因此我们以前在5001
和Using System.IO
Dim oldFilename As String = "T003_TAR_Witness Stmt Summary_190624_GOODYEAR.pdf"
Dim newFilename As String = Path.GetFileNameWithoutExtension(oldFileName) & _
"_ADTC" & _
Path.GetExtension(oldFilename)
会将其转发到端口fields = ['title','content','categories']
中运行的真实API服务器。但是,现在,这也尝试从本地URL获取字面值,显然返回404。
我认为Nginx反向代理有问题吗?我不确定,完全迷路了。
任何帮助将不胜感激。