TLDR:配置nginx侦听端口80并使用
/api
,则在localhost:8081
上使用expressJS/blog
,localhost:8082
上的wordpress / apache2localhost:8080
角度服务器和快递服务器正常工作,但需要配置wordpress / apache。详细,我在同一VPS上安装了以下组件:
angular
上的[8080
前端expressJS
后端位于端口8081
]apache2
上运行当前,我正在使用nginx来处理请求,并且配置是
server {
listen 443;
ssl on;
ssl_certificate /home/user/.ssh/ssl/ssl.crt;
ssl_certificate_key /home/user/.ssh/ssl/ssl.key.txt;
root /var/www/html;
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
}
location /api {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8081;
proxy_read_timeout 90;
}
}
现在我需要在mysite.com/blog
上托管我的博客。所以我在nginx配置中添加了以下内容。
location /blog {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8082;
proxy_read_timeout 90;
}
现在,当我转到example.com/blog
时,它将重定向到example.com:8082/blog
。如何同时配置nginx和apache?
PS:只要wordpress有效,就不需要Apache。但我喜欢保留nginx
PPS:我已配置nginx通过重定向301将所有http
请求转发到https://example.com/
]] >>
[TLDR:配置nginx以侦听端口80,并使用/ api,在localhost:8081上使用expressJS如果/ blog,在localhost:8082上的wordpress / apache2否则使用angular服务器localhost:8080 angular和express服务器...
[您需要在/
URL的末尾添加一个额外的proxy_pass
,以便Nginx负责URL重写:
location /blog {
proxy_pass http://localhost:8082/;
}