我很新的apache,甚至更新的反向代理,但我最终安装一个服务器与nginx(作为反向代理)和Apache,以pipe理不同的技术的网站。 一个php网站(下面称为php_site)由apache处理,一个在rails网站上的ruby由nginx处理。 以后应该添加更多的网站。 一切工作正常,除了phpmyadmin。 我的问题:我可以到phpmyadminlogin页面(通过www.php_site.org/phpmyadmin/或xx.xx.xx.xxx:8080/phpmyadmin/是我的服务器外部IP),但我不设法login。我很确定我有良好的凭据,但是当我提交表单,phpmyadminlogin页面只是重新加载,而不显示错误。 我的conf: Ubuntu 16.04 PHP5.6(因为一个旧的项目需要它) phpmyadmin 4.5.4.1 mysql 5.7.17 阿帕奇/ 2.4.18 phpmyadmin安装在/usr/share/phpmyadmin/ 。 Nginx的conf(php_site): # /opt/nginx/conf/conf.d/php_site.conf server { listen 80; server_name www.php_site.org; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /phpmyadmin { proxy_pass http://127.0.0.1:8080/phpmyadmin; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; […]
有没有什么办法像nginx,mod_proxy,haproxy或类似的东西,让它代理请求并行的两个不同的Web服务器? 我有一个服务器,就像当前的活动,并且是一个“新”,我想确保“新”一个工作相同的当前“活跃”一个切换之前。 所以,代理应该发送所有的请求,然后忽略来自“新”的答复。
我尝试从azure blob服务angular度的应用程序,问题是,我不能用URI和正则expression式代理。 我的configuration是: location /web { proxy_pass https://blob.com/web/index.html; } location ^~ /monitor { proxy_pass https://blob2.net/angular/index.html; } location ~* \.(js|map|jpg|jpeg|png|ico)$ { proxy_pass https://blob2.net/angular; } JS文件应该来自blob2 / angular,因为它们位于那里。 但有了这个configuration我有例外“proxy_pass不能有URI部分…”,这意味着proxy_path不能有正则expression式的URI。 好吧,所以我把最后一句话改成: location ~* \.(js|map|jpg|jpeg|png|ico)$ { rewrite ^ /angular$1; proxy_pass https://blob2.net; } 但仍然不起作用。 更新更改configuration location ~* (\.(?:js|map|jpe?g|png|ico))$ { proxy_pass https://angularweb.blob.core.windows.net/angular/$1; } 但现在的文件是404。在日志中没有什么是“31.168.50.6 – – [13 / Jun / 2017:10:28:53 […]
在我的环境中,我有一些使用nginx反向代理暴露于互联网的Web服务。 而且,对于这些nginx中的一些做一个端口转换(例如内部8080 – >公共80)。 我们也有一些内部服务,从局域网需要联系反向代理服务器:最好的做法是什么? 这是我的想法: 在我们的内部DNS中创build一个虚假的DNS区域,所以如果内部服务联系人publicservice1.example.com被直接redirect到nginx DMZ IP 请勿触摸任何东西,但stream量会在我们的networking中(DMZ中的LAN-> Internet(公共IP) – > nginx反向代理)
我不知道是否要发布到wordpress stackexchange或这里,但由于这是更多的服务器configuration,我会在这里假设。 我的问题是一个configuration问题。 这是我的设置: Docker实例在端口80上的内部docker IP地址上运行Docker实例运行nginx,它是反向代理(public-facing port 80)反向代理(public-facing)将docker实例与内部ip地址上的wordpress服务到internet 这个问题是一个相当独特的问题,因为当查看索引页面或其他页面(关于或其他页面)时,它工作得很好。 只有当login到wordpress这个问题发生。 我转到https://example.com/wp-admin并login 它会在login后redirect到https://example.com/wp-login.php (正确或不正确的信息,没有消息) 从那里它一次又一次地循环,每次我尝试login,没有迹象表明login已被处理。 没有“密码不正确”,只显示login页面。 这不是浏览器停止(无限循环)的意义上的redirect循环,它不会正确地处理login。 换句话说,我可以查看页面并提交login信息,但是它不会处理它。 我尝试禁用所有插件,甚至创build一个全新的安装没有插件 – 我有同样的问题。 它使我相信这是我的nginxconfiguration的一个问题,或者它是wordpress本身 – 我不确定在这一点上。 我正在使用此设置,以便我可以轻松地将新网站添加到服务器(这是专用服务器),如果需要的话,可以重新启动单个站点,而不必closures使用反向代理托pipe的所有站点。 MySQL能够被访问得很好,因为post和页面加载没问题。 只有当试图login这个问题发生。 我的反向代理configuration: server { listen 80; listen [::]:80; server_name _; return 444; } server { listen 80; listen [::]:80; server_name example.com; location / { proxy_read_timeout 90; proxy_connect_timeout 90; proxy_redirect off; […]
我试图在代理之后启动几个Logstash实例。 我正在使用nginx,但HAProxy也是一个选项。 worker_processes 4; events { worker_connections 1024; } http { upstream streams { server logstash_ip:5044; } server { listen 80; location / { rewrite ^/(.*) /$1 break; proxy_ignore_client_abort on; proxy_pass http://streams; 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; } } } logstash_ip是一个别名,它是可以parsing的。 问题是,当我将一些日志直接推送到logstash时 – 一切正常。 当我通过Nginx推送日志时,它失败了: 使用端口浏览Nginx会导致502网关错误 Logstash日志 发布事件(重试)时发生错误:lumberjack协议错误
我试图redirect在各种端口上的本地主机上运行的服务到单个端口上的子path。 例如http://127.0.0.100:5687/到http://127.0.0.1/app/ 。 我遇到的问题是,只有第一个虚拟主机块的作品。 如果我交换2主机只有最顶层/第一主机工作。 所有其他主机返回未find错误。 这里是有问题的apache指令: <VirtualHost *:80> ServerName app1.example.com #ServerAlias app1 ProxyRequests Off ProxyPass /app1 http://127.0.0.1:6687/ ProxyPassReverse /app1 http://127.0.0.1:6687/ </VirtualHost> <VirtualHost *:80> ServerName app2.example.com #ServerAlias app2 ProxyRequests Off ProxyPass /app2 http://127.0.0.1:7687/ ProxyPassReverse /app2 http://127.0.0.1:7687/ </VirtualHost> 我在这里没有看到什么? 为什么只有第一个虚拟主机工作?
在我的服务器上,我在debian服务器上运行了一个mailcow:dockerized解决scheme,我想用nginx作为一个http反向代理,而且也用作一个SMTP imap和pop3,如https://www.nginx.com /资源/pipe理引导/邮件代理/ 但是,我进一步阅读链接时,很难弄清楚这将如何完成。 在http中,显而易见的是这将如何完成: server { listen 80; server_name mail.example.tk; location /.well-known { proxy_pass http://127.0.0.1:8080/.well-known ; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 100m; } location / { rewrite ^(.*) https://$server_name$1 permanent; } } server { listen 443 ssl; server_name mail.example.tk; ssl_certificate /opt/docker-mailcow/data/assets/ssl/cert.pem; ssl_certificate_key /opt/docker-mailcow/data/assets/ssl/key.pem; ssl_protocols TLSv1 TLSv1.1 […]
我在我的网站上设置了一个子域,它使用nginx和以下服务器configuration来托pipe一个Flask应用程序。 这是DigitalOcean上的一个液滴托pipe。 server { listen 80; server_name subdomain.mysite.com; location / { proxy_pass http://0.0.0.0:8080; proxy_redirect http://0.0.0.0:8080 http://subdomain.mysite.com; } } 我试图在我的应用程序中获取访问者的IP,但IP地址似乎是相同的,无论访问者。 我不是这个领域的专家,所以如果有人能解释发生了什么事情,以及如何获得访问者的真实IP地址,那将是非常好的。
我使用Apache 2.4作为Jenkins(在端口8080本地运行的Web服务)的反向代理。 我正尝试使用Require将访问此服务限制到内部networking。 我的VirtualHost: <VirtualHost *:443> ServerName jenkins.domain.com ServerAdmin … SSLEngine on … <Location /> <RequireAny> Require ip 127.0.0.1 Require ip ::1 Require ip 10.8.0 </RequireAny> </Location> ProxyRequests Off ProxyPreserveHost On AllowEncodedSlashes NoDecode ProxyPass / http://localhost:8080/ nocanon ProxyPassReverse / http://localhost:8080/ ProxyPassReverse / http://jenkins.domain.com/ RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443" </VirtualHost> 不知何故,这使得服务不可用于所有人,包括具有可信IP的客户,如10.8.0.1。 我究竟做错了什么?