首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在服务运行时运行Nginx

问在服务运行时运行Nginx
EN

Server Fault用户
提问于 2019-07-29 13:10:52
回答 1查看 152关注 0票数 0

我有一个服务器已经在端口80 (和443)上运行了一个码头容器。事后看来,我无法预见到我可能不得不在同一台服务器上部署两个子域。我读过,Nginx是在同一台服务器上托管多个子域的完美解决方案。理想的情况是这样的:

  • https://../
  • https://../

因此,现在我将在一些未占用的端口上运行service1,但我的问题是,两个子域都必须可以在端口80 (和443)上访问,但是我的service0停靠容器已经在运行并侦听端口80。是否可以将Nginx放在上面,比如监听子域service0的所有通信量,并将其转发到“实际”端口80和其他用于service1的端口。我之所以这样问,是因为我不允许更改运行在端口80上的当前service0的端口。我可以把集装箱停一段时间,但没什么。

EN

回答 1

Server Fault用户

发布于 2019-07-30 11:22:22

先看这里:如何将端口映射到码头或设置新端口?

在将您的停靠端口更改为即8080和8081之后,请安装nginx在本地计算机上运行。之后,将Nginx设置为反向代理,如下所示:

/etc/nginx/sites-enabled/service0.mydomain.com)主机1:(

主机1)server { listen 80; server_name .. location / { proxy_pass http://10.11.12.13:8080 proxy_set_header Host $host; proxy_buffers 16 4k; proxy_buffer_size 2k; gzip on; #gzip_proxied no-cache no-store private expired auth; gzip_vary on; gzip_comp_level 8; gzip_proxied any; } /etc/nginx/sites-enabled/service1.mydomain.com)

主机2::(转入

)server { listen 80; server_name .. location / { proxy_pass http://10.11.12.13:8080 proxy_set_header Host $host; proxy_buffers 16 4k; proxy_buffer_size 2k; gzip on; #gzip_proxied no-cache no-store private expired auth; gzip_vary on; gzip_comp_level 8; gzip_proxied any; } 其中10.11.12.13是maschine的IP,

  • 如果码头在同一主机上运行,请用127.0.0.1替换它
  • 将proxy_pass后的端口更改为上面的端口

福利:

  • 启用nginx进行缓存,而不重定向到SSL。

Bad?

  • 没有自动重定向--但以下是方法

自动重定向(仅一个例子)

代码语言:javascript
复制
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
}

福利?

  • 自动将nginx样式重定向到SSL
  • 请注意SSL-部件必须由certbot设置。
  • 已启用缓存

Bads?

  • 没有http连接的可能--但这正是我们想要的

希望我能帮你解决你的问题

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/977131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档