Ubuntu 无法在nginx中配置代理\u传递
我想将请求传递给HTTP代理服务器,proxy_pass指令在一个位置内指定 在我的Ubuntu 无法在nginx中配置代理\u传递,ubuntu,nginx,digital-ocean,Ubuntu,Nginx,Digital Ocean,我想将请求传递给HTTP代理服务器,proxy_pass指令在一个位置内指定 在我的/etc/nginx/nginx.conf中,我配置: server { location ~ ^/api/(.*)$ { listen 80; listen [::]:80; location ~ ^/api/(.*)$ { proxy_pass 127.0.0.1:8080; } } } 当我执行这个命令时,服务nginx start: Job for nginx.service fa
/etc/nginx/nginx.conf
中,我配置:
server { location ~ ^/api/(.*)$ {
listen 80;
listen [::]:80;
location ~ ^/api/(.*)$ {
proxy_pass 127.0.0.1:8080;
}
}
}
当我执行这个命令时,服务nginx start
:
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
systemctl状态nginx.service的输出
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2019-11-02 20:25:51 UTC; 53s ago
Docs: man:nginx(8)
Process: 12219 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 9516 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
Process: 11760 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 27870 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 11763 (code=exited, status=0/SUCCESS)
Nov 02 20:25:51 ubuntu-s-milos2611 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 02 20:25:51 ubuntu-s-milos2611 nginx[27870]: nginx: [emerg] invalid URL prefix in /etc/nginx/nginx.conf:72
Nov 02 20:25:51 ubuntu-s-milos2611 nginx[27870]: nginx: configuration file /etc/nginx/nginx.conf test failed
Nov 02 20:25:51 ubuntu-s-milos2611 systemd[1]: nginx.service: Control process exited, code=exited status=1
Nov 02 20:25:51 ubuntu-s-milos2611 systemd[1]: nginx.service: Failed with result 'exit-code'.
Nov 02 20:25:51 ubuntu-s-milos2611 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
将配置文件更改为
server {
listen 80;
listen [::]:80;
location ~ ^/api/(.*)$ {
proxy_pass 127.0.0.1:8080;
}
}
您添加了两次location~ ^/api/(.*)$
,这是不正确的 您必须在proxy\u pass指令中使用http://前缀:
proxy_pass http://127.0.0.1:8080;
查看更多详细信息。是否按照输出中的建议运行了systemctl status nginx.service
?它将为您提供有关该问题的更多详细信息。现在您可以查看状态。谢谢,现在我没有错误。我的Nginx启动了。但我仍然没有在端口80上的UI和端口8080上用Tomcat启动的后端之间建立连接。你对此有什么建议吗?