我已经在不同的端口上设置了几个节点应用程序(RESTful服务器)(http://本地主机:1337,http://本地主机:1338等)。每个 API 必须能够从同一个域和 443 端口访问。对于这种特定情况,您将如何配置 nginx?
这是我的 nginx 配置
# HTTP server
http {
server {
listen 80;
server_name www.example.com;
return 301 https://$server_name$request_uri;
}
# HTTPS server
server {
listen 443;
server_name www.example.com;
root /usr/share/nginx/html;
ssl on;
ssl_certificate /etc/x.crt;
ssl_certificate_key /etc/x.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /api1 {
rewrite /api1(.*)$ $1 break;
proxy_pass http://127.0.0.1:1337/;
}
location /api2 {
rewrite /api2(.*)$ $1 break;
proxy_pass http://127.0.0.1:1338/;
}
}
答案1
最后我发现问题不是由糟糕的 nginx 配置引起的,所以上面的代码应该可以工作,即使我根据此代码片段来自 Github