gpt4 book ai didi

docker - 隐藏 NGINX Docker 容器公开的 URL 中的端口号

转载 作者:行者123 更新时间:2023-12-02 18:03:45 28 4
gpt4 key购买 nike

我运行带有公开端口 80808443 的 Docker NGINX 容器。

所以我访问欢迎 NGINX 页面:http://www.nginx.test:8080


我想知道是否可以隐藏/删除 URL 中的端口。

所以我访问欢迎 NGINX 页面:http://www.nginx.test


由于 NGINX 是反向代理服务器,因此它应该可以工作。对 NGINX 还是新手我必须通过 Google 搜索一些答案,基本上它们已应用于以下尝试。

首先,我在 server 级别尝试了 (没用) NGINX 的指令 proxy_redirect,如下所示:

server {
listen 8080;
listen [::]:8080;
server_name www.nginx.test;

proxy_redirect $scheme://$server_name:8080 $scheme://$server_name;
}

然后我在 location 级别尝试了 (没用) NGINX 的指令 proxy_pass,如下所示:

server {
listen 8080;
listen [::]:8080;
server_name www.nginx.test;

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass $scheme://$server_name;
}
}

可能不止于此才能让它发挥作用。

最佳答案

http://www.nginx.test 被解释为 http://www.nginx.test:80(和 SSL https://www.nginx.test==https://www.nginx.test:443).

所以如果你想从 URL 中删除它,你必须监听端口 80

通过docker,你可以将宿主机的一个端口映射到容器中的不同端口。
因此,无需更改 NGINX 容器的内容,您只需将 docker 服务器的端口 80 映射到 nginx 容器的端口 8080:

docker container run ... --publish 80:8080 your_image ...

关于docker - 隐藏 NGINX Docker 容器公开的 URL 中的端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60078533/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com