如何解决将.htaccess改写成nginx配置格式,将不同的URL代理到不同的端口
如何在Nginx中使用以下htaccess规则?
比如如果
用户访问 http://lovelythings.buzz/api
或 img
应使用本地端口 8080。
但是当尝试访问其他路由 http://lovelythings.buzz
时,它将在端口 3000 或 3001 上进行代理
我已经在 Apache2 服务器的 .htaccess 上实现了这一点。
但在其他服务器上我安装了 Nginx 并且 Nginx 不支持 .htaccess
以下是 .htaccess,我正在尝试在 Nginx 上运行。
DirectoryIndex
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} dev.farrwest.com
RewriteRule ^api(.*)$ http://localhost:8080/api$1 [P,L]
RewriteRule ^img/(.*)$ http://localhost:8080/img/$1 [P,L]
RewriteRule ^(.*)?$ http://localhost:3001/$1 [P,L]
解决方法
经过一些进一步的搜索。
以下配置适合我。
server {
listen 80;
listen [::]:80;
server_name lovelythings.buzz www.lovelythings.buzz;
#root /var/www/html;
index index.html index.htm index.nginx-debian.html;
location / {
proxy_pass http://localhost:3000/;
}
location /assets/ {
proxy_pass http://localhost:3000/assets/;
}
location /api/ {
proxy_pass http://localhost:8080/api/;
}
location /graphql {
proxy_pass http://localhost:8080/graphql;
}
location /img/ {
proxy_pass http://localhost:8080/img/;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。