在我定义的dockerfile中:
EXPOSE 5050
[有没有一种方法可以像在任何REST框架中一样为它提供端点名称,以便可以向localhost:5050/<ENDPOINT_NAME>
发送请求?
您需要使用反向代理软件。这是一个非常受欢迎的易于使用的Nginx容器:
https://hub.docker.com/r/linuxserver/letsencrypt/
之后,您只需配置代理配置即可满足您的需求。关于外观的基本概念是:
location /yourapp {
return 301 $scheme://$host/yourapp/;
}
location ^~ /yourapp/ {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_app yourapp;
set $upstream_port 5050;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
使用上面的示例,您将可以输入类似以下内容:
https://yourdomain.com/yourapp/getQuery
它将被重定向到您要在5050
端口进行的传输。
这里是当前反向代理配置的全部列表,为您提供有关它们如何工作的更多想法: