我有一个服务器已经在端口80 (和443)上运行了一个码头容器。事后看来,我无法预见到我可能不得不在同一台服务器上部署两个子域。我读过,Nginx是在同一台服务器上托管多个子域的完美解决方案。理想的情况是这样的:
https://../https://../因此,现在我将在一些未占用的端口上运行service1,但我的问题是,两个子域都必须可以在端口80 (和443)上访问,但是我的service0停靠容器已经在运行并侦听端口80。是否可以将Nginx放在上面,比如监听子域service0的所有通信量,并将其转发到“实际”端口80和其他用于service1的端口。我之所以这样问,是因为我不允许更改运行在端口80上的当前service0的端口。我可以把集装箱停一段时间,但没什么。
发布于 2019-07-30 11:22:22
先看这里:如何将端口映射到码头或设置新端口?
在将您的停靠端口更改为即8080和8081之后,请安装nginx在本地计算机上运行。之后,将Nginx设置为反向代理,如下所示:
/etc/nginx/sites-enabled/service0.mydomain.com)主机1:(
主机2::(转入
server {
server_name subdomain.domain.de;
listen 80;
return 301 https://$host$request_uri;
}
server {
proxy_read_timeout 3600;
listen 443 ssl http2;
server_name subdomain.domain.de;
location / {
proxy_set_header X-Cache-Status $upstream_cache_status;
proxy_cache_valid 200 1w;
proxy_pass https://10.11.12.13:8080;
proxy_set_header Host $http_host;
proxy_buffers 16 8m;
proxy_buffer_size 2m;
gzip on;
gzip_vary on;
gzip_comp_level 9;
gzip_proxied any;
}
ssl_certificate /etc/letsencrypt/live/0001/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/0001/privkey.pem; # managed by Certbot
}希望我能帮你解决你的问题
https://serverfault.com/questions/977131
复制相似问题