Tag: proxypass

通过Apache主机向Docker容器发送代理请求

我有一台运行Apache Web服务器的Ubuntu服务器主机。 在这个主机上运行的是一个Docker容器,它通过端口configuration来提供Geoserver(通过Tomcat)(从这个镜像构build):0.0.0.0:32770->8080/tcp 我可以使用http://my.domain:32770 / geoserver访问Geoserver 我在主机上的Apache中configuration了一个redirect,通过HTTPS提供所有的请求(请参阅下面的代码片段),在这样的请求中(如https://my.domain:32770 / geoserver ) <VirtualHost *:80> # sending http requests to https ServerName data.nrri.umn.edu Redirect permanent / https://data.nrri.umn.edu/ </VirtualHost> 我尝试解决这个问题的方法是在Apacheconfiguration文件中使用ProxyPass指令: ProxyRequests Off ProxyPreserveHost On ProxyPass /my-geoserver http://127.0.0.1:32770/geoserver ProxyPassReverse /my-geoserver http://127.0.0.1:32770/geoserver 当我使用URL,我期望会让我到像上面那样的Geoserver主页(即http://my.domain/my-geoserver ),我被redirect到https://my.domain/geoserver /index.html,并提供404 Not Found。 我还应该注意, http://my.domain:32770 / geoserver和http://my.domain:32770 / geoserver / index.html都会parsing为http://my.domain:32770 / geoserver / web / 我在这里做错了什么? […]

nginx子pathredirect到wordpress docker容器

背景 我正在为我们在Nginx上运行的现有网站添加Dockerized博客堆栈(Wordpress + MariaDB)。 location /已经提供了网站,并且我被指示将逻辑添加到Nginxconfiguration,其中/blog将所有stream量redirect到Docker容器。 尝试1 我在服务器上的localhost:9999上启动了wordpress容器。 使用引用我添加了额外的逻辑: location ^~ /blog { proxy_pass http://localhost:9999; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; } 问题: WordPress的redirecthttp://server/blog http://wp-admin/install.php ,因为没有规则,我得到了404。 尝试2 我将location更改为stream程/blog以及任何包含wp-.* URL。 假设是所有的WordPress的页面将具有该url。 location ~ ^/(blog|wp-.*) { 这工作通过WordPress的设置。 如果我明确地访问http://server/wp-admin我可以去博客pipe理页面。 问题: WordPress的博客页面不满足上面的正则expression式,并返回一个404。例如http://server/?p=31是一个博客文章的链接。 尝试3 只是为了它,我redirectlocation /到Docker容器和博客完美。 但不幸的是,这不是我所说的问题。 题 接下来我要做什么?为了满足所有针对WordPress的特定要求? 我觉得在这里可能会有一个更优雅的解决scheme时,我正在进入一个战斗正则expression式的循环。 参考 nginx代理传递子path不redirect 我怎样才能在NGINXconfiguration中的两个位置有相同的规则? nginxredirect到docker容器