问题标签 [nginx-reverse-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1053 浏览

nginx - 基于数据库查找的nginx动态proxy_pass

我有一个带有通配符子域的网站:* .mydomain 运行 nginx。我想根据子域将代理传递到另一台服务器上的不同端口。

例如:
abc.mydomain -> proxy_pass http://otherdomain:10001
foo.mydomain -> proxy_pass http://otherdomain:10002
等。

要重定向到的端口在数据库中,我已经可以通过调用 url 来查找它:

卷曲http://mydomain/getport/abc -> 10001
卷曲http://mydomain/getport/foo -> 10002

我的网站上有数百个子域。如何在每次访问时进行这样的动态端口查找,以便在 nginx 中与 proxy_pass 一起使用?

我当前对单个子域的 nginx 配置是这样的:

谢谢

0 投票
3 回答
3161 浏览

nginx - nginx 在位置配置 pgadmin

请帮我写配置。它可以工作,但是当我转到位置http://my.server.ru/pgadmin/时,它会重定向到 / 以登录,并且 / 中没有位置名称。

我不明白该怎么处理它。哪里必须改写?

UPD:卷曲的输出

未找到

在此服务器上找不到请求的 URL /login。

我们在这里看到重定向到 /

0 投票
1 回答
449 浏览

nginx - Nginx子域配置错误

我想将我的 Nginx 版本 1.10.2 配置为托管在 CentOS 7 操作系统中的反向代理。我在同一台 WildFly 10 服务器上运行了多个应用程序。这些应用程序可在http://213.xxx.xxx.xxx/app1和获得http://213.xxx.xxx.xxx/app2。我为 app2 创建了一个子域http://app2.example.com。我的nginx.conf文件包含这些服务器:

从我的网络浏览器,我可以通过 URL 访问 app1 example.com。但我无法到达 app2。当我向 发送请求时app2.example.com,它会将我重定向到app2.example.com/app2。有人可以告诉我我的配置有什么问题吗?

0 投票
1 回答
11810 浏览

nginx - proxy_cookie_path 在 nginx 中不起作用

来自我的后端服务器的任何 cookie 响应。我想更改 cookie 请求中的 PATH 值。

从 nginx 学习后,我被要求使用 proxy_cookie_path 指令

所以我一直在尝试在我的 nginx 配置中使用 proxy_cookie_path 指令字段。

这是 nginx 对客户端的响应。试图将 PATH 的值从 / 更改为 /abc/xyz/120

这是 nginx 规则

所以问题是当我添加

proxy_cookie_path 关闭;proxy_cookie_path //abc/xyz/120;

使用这个指令给了我错误

我检查了我的 nginx -V 以了解它是否已安装。所以我的问题是:-

  1. 它是正确的方法,即 proxy_cookie_path 是解决方案吗?

  2. 如果 proxy_cookie_path 是解决方案,那么我没有将它放在正确的位置。如果我错了,请纠正我。

nginx/1.10.1 使用 OpenSSL 1.0.1f 构建 2014 年 1 月 6 日 TLS SNI 支持启用配置参数:--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 - Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' --prefix=/usr/共享/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/ error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx。pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/ nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/ var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module - -with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic -- with-http_mp4_module --with-http_perl_module=动态 --with-http_random_index_module --with-http_secure_link_module --with-http_sub_module--with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10。 1/debian/modules/headers-more-nginx-module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-auth-pam --add-dynamic-module =/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-cache-purge --add-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-dav- ext-module --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-development-kit --add-dynamic-module=/build/nginx-JCHwcf/nginx- 1.10.1/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/ngx-fancyindex --add-dynamic-module=/build/ nginx-JCHwcf/nginx-1.10.1/debian/modules/nchan --add-dynamic-module=/build/nginx-JCHwcf/nginx-1。10.1/debian/modules/nginx-lua --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-upload-progress --add-dynamic-module=/build/ nginx-JCHwcf/nginx-1.10.1/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-JCHwcf/nginx-1.10.1/debian/modules/ngx_http_substitutions_filter_module

0 投票
1 回答
1746 浏览

docker - 使用 nginx 无法在容器外部访问虚拟主机

下面是我的 docker-compose.yml 文件。

我正在尝试设置反向代理。

我尝试将 VIRTUAL_HOST 和 VIRTUAL_PORT 环境设置为虚拟 docker 容器。可以使用主机名和端口访问它,例如http://services.local:81

请建议我如何使用浏览器访问这些服务。

我想访问http://service1.services.localhttp://services.local/service1 之类的服务,这里http://services.local是我的默认主机

注意:- 我正在使用jwilder/nginx-proxy

码头工人-compose.yml

这里 vgw1 和 vgw2 是安装了 Node-Red 的两个独立的 docker。

下面是nginx-proxy 日志

/nginx/conf.d/default.conf

0 投票
1 回答
228 浏览

nginx - 重写 url 但显示原始 url + nginx

我是 nginx 新手。我正在尝试使用 nginx 将某个页面(“example.com/randomText/abc”)重定向到页面(“example.com/abc”)。

方法 1 和 2 正在工作,但它也将 url 更改为“ http://example.com/abc ”方法 3 返回 502 错误。

0 投票
1 回答
1004 浏览

authentication - 在 nginx 反向代理后面配置 Piwik 并重写

我在 Nginx 反向代理后面使用 Piwik,而 Piwik 在 Apache 服务器上运行。我还使用重写规则( /piwik/ 到 / )。

对于 Mac 上的 Chrome 和 Safari,Piwik 的登录过程不起作用(我只收到配置浏览器 cookie 和代理服务器的一般错误消息)。

但是我当前的配置在 Mac 的 FirefoxDeveloperEdition 中工作:

nginx.conf:

配置.ini.php

当我删除/piwiknginx.conf 到:

登录工作正常,但我遇到了另外两个问题:

  • 登录后我错误地重定向到根目录/(不再是 Piwik),但重新打开 Piwik 后,我已登录
  • 由于错误的网址http://localhost:2020/plugins/Morpheus/images/logo.svg而不是http://localhost:2020/piwik/plugins/Morpheus/images/logo.svg

我也会保留重写规则,因为 Apache 服务器是一个通用的 docker 容器。

可能我必须分析失败的身份验证条件,但我还没有找到正确的行。

0 投票
0 回答
207 浏览

clojure - 来自快照存储库的 Nexus 3.5.1 代理只有 Maven 元数据文件

我已通过以下路径将 nexus 存储库从 2.x 升级到 3.x:

2.4.14 -> 3.4.0 -> 3.5.1

所有nexus服务都打包在 docker 中,数据目录从主机映射。对于所有服务,我使用默认的sonatype/nexus或者sonatype/nexus3容器。nginxNexus Web 界面通过简单的反向代理隐藏在后面。

我将 nexus 服务与boot-cj(没有凭据)工具一起使用,该工具以与 maven 相同的方式管理依赖项。无论如何,该工具首先下载nexus-maven.xml相关sha1文件并尝试下载jars. 它适用于2.x我所拥有的一切。

我针对远程存储库创建了一个代理存储库sonatype-snapshots。当我开始编译时出现Could not find artifact错误。我发现肉类数据文件被缓存,但所有的 pom 和 jars。

我试图通过使用clean_cache文件技巧清理缓存来修复它,并且更粗糙rm -rfv /srv/nexus3/nexus-data/cache/*但没有成功。没有任何关于错误的日志。我还手动检查了远程存储库中是否存在所需的人工制品。更明显Rebuild index的按钮没有给出解决方案。我不认为这是 nginx 的问题,但谁知道呢?也离开通宵运行计划任务并没有帮助。

预期的工件是org.eclipse.rdf4j:rdf4j:pom:2.3-20170901.145510-11.

0 投票
2 回答
17361 浏览

nginx - How to Proxy Pass from / to /index.html

I'm currently working on a JS Project, that uses the url path. Now if I go on my website with example.com/, the JavaScript won't work, because I actually need example.com/index.html.

I'm already using an reverse proxy to proxy pass to two different docker containers. So my idea was to pass the request to example.com/index.html when example.com/ is called. But I can't figure out the regex stuff to achieve this goal.

My old config:

Stuff I tried:

0 投票
1 回答
301 浏览

postgresql - 如何消除对两个协同工作以使用桥接网络的 docker 容器的需求?

我有三个码头集装箱:

1: nginx 容器可在 8080 端口访问,但不使用桥接网络

2: xwiki 容器运行 tomcat 可使用桥接网络在端口 8080 上访问

3:Postgres 容器托管 xwiki 数据库,可使用与 xwiki 容器相同的桥接网络在端口 5432 上访问

我希望能够将 nginx 设置为反向代理并将 xwiki 站点加载到诸如http://site-root/xwiki之类的 url 上,但它不能这样做,因为它不在同一个桥接网络上,我得到一个 no路由到主机错误...

使用 docker hosts ip 和相应的容器端口可以从远程主机访问所有主机...

我已经创建了 xwiki 和 postgres 容器,它们不使用桥接网络来测试它,但是 xwiki tomcat 服务器失败,因为 xwiki 找不到 postgres 服务器,并且我收到以下错误作为 tomcat 异常:

是否不需要为 xwiki 和 postgres 容器使用桥接网络,并让它们使用 docker 主机 IP 和它们各自的端口号进行通信?

我在想我可能需要编辑 xwiki 容器中的 tomcat 配置,以便它使用 docker 主机 IP 和 postgres 默认端口指向 postgres 服务器...

任何人都可以告诉我这听起来是否是正确的解决方案,或者我是否遗漏了有关桥接网络的需要?

我意识到一个可能的解决方案是将 nginx 容器设置为使用相同的桥接网络,但我也希望 nginx 服务能够反向代理在 docker 主机上运行的 node.js 服务器......(不是通过 docker)

我是否应该将节点容器化并使用与此相同的桥接网络运行所有容器,从逻辑上讲应该可以解决问题,但我担心它可能会导致其他问题...

docker 主机在 Centos 7 上运行

用于手动运行容器的命令如下所示:

Nginx

Postgres

维基