标签: reverse-proxy

在 Docker 上部署反向代理时出现 SSL 问题

在 Docker 上部署反向代理后,出现错误,并且没有代理的容器无法启动。我收到以下错误:

SHA:!DSS") 失败(SSL:错误:140E6118:SSL 例程:ssl_cipher_process_rulestr:无效命令错误:140E6118:SSL 例程:ssl_cipher_process_rulestr:无效命令)

我从https://phoenixnap.com/kb/docker-nginx-reverse-proxy制作了反向代理

ssl reverse-proxy docker

2
推荐指数
1
解决办法
2068
查看次数

nginx是反向代理和Web服务器

我目前使用nginx和乘客来为我的rails应用程序提供服务.考虑在等式中包含缓存反向代理.我可以使用相同的nginx实例作为反向代理(在端口80上运行,提供静态和电子标记的操作),还是需要不同的nginx实例或完全不同类型的反向代理?

谢谢!

caching reverse-proxy ruby-on-rails passenger nginx

1
推荐指数
1
解决办法
2732
查看次数

对于在Node.JS上运行的SaaS,是否需要作为反向代理的Web服务器(nginx)或清漆?

对于在Node.JS上运行的SaaS,是否需要Web服务器?

如果是的话,哪一个和为什么?

使用just节点会有什么缺点?它的作用是只处理CRUD请求并为客户端提供JSON以解析日期(如Gmail).

apache webserver reverse-proxy nginx node.js

1
推荐指数
1
解决办法
1163
查看次数

使用varnish cache进行gzip压缩

我试图使用清漆缓存提供gzip压缩.但是当我使用下面提到的varnish(default.vcl)配置将内容编码设置为gzip时.浏览器无法下载我将内容编码设置为gzip的内容.

清漆配置文件:

backend default {
      .host = "127.0.0.1";
      .port = "9000";
}

backend socketIO {
      .host = "127.0.0.1";
      .port = "8083";
}

acl purge {
        "127.0.0.1";
        "192.168.15.0"/24;
}

sub vcl_fetch {
    /* If the request is for pictures, javascript, css, etc */
        if (req.url ~ "^/public/" || req.url ~ "\.js"){     
        unset req.http.cookie;      
        set beresp.http.Content-Encoding= "gzip";   
        set beresp.ttl = 86400s;
        set beresp.http.Cache-Control = "public, max-age=3600";
        /*set the expires time to response header*/
        set beresp.http.expires=beresp.ttl;     
                /* marker for vcl_deliver to reset Age: …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy varnish varnish-vcl

1
推荐指数
1
解决办法
6766
查看次数

Nginx代理传递 - 禁用ipv6

我有如下nginx conf:

server {
listen       127.0.0.1:8080;
server_name  127.0.0.1;

client_max_body_size 20m;

include /etc/nginx/conf.d/services/*.conf;

# redirect server error pages to the static page /50x.html                                                                                                                                              
#                                                                                                                                                                                                       
error_page   500 /500.json;
error_page   501 /501.json;
error_page   502 /502.json;
error_page   503 /503.json;
error_page   504 /504.json;
error_page   404 /404.json;

location = /500.json {
    root   /opt/lj/nginx;
}
location = /501.json {
    root   /opt/lj/nginx;
}
location = /502.json {
    root   /opt/lj/nginx;
}
location = /503.json {
    root   /opt/lj/nginx;
}
location = /504.json {
    root   /opt/lj/nginx;
}
location = /404.json { …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx ipv4 ipv6 proxypass

1
推荐指数
1
解决办法
1万
查看次数

1
推荐指数
1
解决办法
6184
查看次数

如何为两个需要socket.io的应用程序设置带端口80的反向代理的NGINX?

我已经在这几天了.我这么近,然后连接似乎死亡或socket.io无法找到.但那么也许我做错了?

我的NGINX文件看起来像这样:

upstream appOne {
    server demo.someserver.com:1111;
}

upstream appTwo {
    server demo.someserver.com:2222;
}

location /appOne/ {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://appOne/;
}
location /appTwo/ {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://appTwo/;
}

location /socket.io/ {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://appOne/socket.io/;
}
Run Code Online (Sandbox Code Playgroud)

所以我在这里要做的是让appOne在demo.someserver.com/appOne的子文件夹中运行,让appTwo在demo.someserver.com/appTwo的子文件夹中运行,但两者都有一个反向代理.

所有连接都很好,除了两个应用程序都需要socket.io运行,不应该真的需要相互连接(虽然我开始认为这不是一个坏主意).但是目前他们都连接到appOne/socket.io/socket.io.js因为最后一个NGINX位置.当连接类似于套接字连接不在同一端口等时,这会导致各种问题.

我试图避免的是在任何前端JS文件中命名端口和应用程序名称appOne和appTwo在此上下文中可以是clientOne和clientTwo.

我确实想到过这样的事情:

if ($request_uri …
Run Code Online (Sandbox Code Playgroud)

sockets reverse-proxy nginx node.js socket.io

1
推荐指数
1
解决办法
389
查看次数

使用AWS Lambda创建代理解决方案

我有一个案例,我想删除请求中的cookie并将请求发送到另一个服务器并显示对最终用户的响应.

例: client -> x.website.com -> remove cookie -> y.website.com

当前解决方案 client -> x.website.com -> ec2 instance, nginx proxy, remove cookie -> y.website.com

我想在中间删除ec2实例,因为它很昂贵.

我可以使用AWS Resources实现任何方式吗?

reverse-proxy amazon-web-services aws-lambda

1
推荐指数
1
解决办法
3558
查看次数

启用TLS的反向代理(Traefik)后的Docker注册表-远程错误:错误的证书

所以我在这里做所有被Docker化的工作。Traefik和我的docker Registry实例一样都在容器中运行。如果我在注册表中单击,则可以从注册表中正常进行推/拉操作mydomain.com:5000/myimage

问题出在我尝试使用443击打它时mydomain.com/myimage。我在这里设置的是Traefik反向代理,在侦听443 mydomain.com,并将内部请求转发到:5000我的Registry实例。

当我从Traefik网址进行推/拉时,它挂起并倒数,等待在循环上重试。当我查看注册表的日志时,每一个我都可以看到实例IS实际上与反向代理Traefik通信,但是,我一遍又一遍地(在客户端的每次重试中)都遇到此错误:

2018/05/31 21:10:43 http: TLS handshake error from proxy_container_ip:port: remote error: tls: bad certificate

关于TLS问题,Docker Registry确实非常严格。由于我仍在开发中,因此我在这里使用所有自签名证书。知道是什么原因导致此错误吗?我假设Traefik代理检测到注册表提供的证书不可信(自签名),因此没有完成“推送”请求,反之亦然-发送注册表时,注册表返回到Traefik代理会检测到它不受信任。

如果需要,我可以提供其他信息。当前设置是Traefik和Registry都有自己的.crt和.key文件集。这两个(当然)都启用了TLS。

谢谢。

ssl reverse-proxy docker docker-registry traefik

1
推荐指数
1
解决办法
3135
查看次数

使用DNS设置Rancher + Kubernetes的最佳方法是什么

首先,我不是专家,所以请多多包涵。我设法在家中的vcenter中安装和设置了Rancher(免费获得了裸机安装程序,虽然有点旧,但仍然可以)。我有3个运行良好的节点,我也可以使用它在vmware中配置VM。最重要的是,我还在Rancher中添加了Kubernetes。现在,我的计划是部署应自动获取外部端点(可从Internet访问)和SSL的服务。我已经从Namecheap mydomain.com购买了它,外加通配符证书。另外,在我的vcenter中,我有一个正在运行的nginx服务器,namecheap dns指向该服务器,但是我认为我应该在Kubernetes中运行它,只是我不想手动管理nginx的配置文件。

最好的方法是什么?我无法理解入口控制器如何工作或如何正确设置它们。我遵循了许多教程,但到目前为止没有成功。我也和Traefik一起玩,但是没有成功。在外部端点部分,我总是一无所获。

我不需要逐步指南,但至少有人可以向我指出正确的方向。我也在考虑使用Let'sEncrypt,但是由于我已经拥有我的域和ssl证书,因此不确定这是否是一个好主意。

谢谢!

dns reverse-proxy nginx kubernetes rancher

1
推荐指数
1
解决办法
1116
查看次数