nginx反向代理到LAMP服务器:无法登录PHPMYADMIN -- nginx 领域 和 apache-2.4 领域 和 reverse-proxy 领域 和 phpmyadmin 领域 服务器管理 相关 的问题

Nginx Reverse Proxy to LAMP server : can't login to phpmyadmin


2
vote

问题

中文

我很新的是apache,甚至更新到反向代理,但我最终用nginx(作为反转代理)和apache安装一个服务器,以管理具有不同技术的网站。 PHP网站(下面的PHP_SITE)由Apache处理,Ruby在Rails网站上由Nginx处理。稍后应添加更多网站。一切都在工作正常,除了phpmyadmin。

我的问题:我可以到达phpmyadmin登录页面(通过 www.php_site.org/phpmyadmin/ xx.xx.xx.xxx:8080/phpmyadmin/ ,xx是我的服务器外部IP),但我不设法登录在。我很确定我有很好的凭据,但是当我提交表单时,phpmyadmin登录页面只需重新加载,而不显示错误。

我的conf:

  • Ubuntu 16.04
  • PHP 5.6(因为旧项目需要它)
  • phpmyadmin 4.5.4.1
  • mysql 5.7.17
  • apache / 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;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header X-Forwarded-Proto $scheme;   }   client_max_body_size 15M;  }  server {     listen 80;     server_name php_site.org;     rewrite ^ http://www.php_site.org$request_uri? permanent; }   

apache conf(php_site):

  # /etc/apache2/sites-available/php_site.conf NameVirtualHost  *:8080  <VirtualHost *:8080>    ServerName www.php_site.org   ServerAdmin myself@mail.com   DocumentRoot /var/www/php_site.com/htdocs     <Directory /var/www/php_site.com/htdocs >     AllowOverride All     DirectoryIndex index.php   </Directory>    ErrorLog /var/log/apache2/php_site-error.log    LogLevel warn    CustomLog /var/log/apache2/php_site.log combined  </VirtualHost>  <VirtualHost *:8080>     ServerName php_site.org     Redirect permanent / http://www.php_site.org/ </VirtualHost>   

问题:

  • 我的conf有什么问题吗?
  • 我是否需要设置 $cfg['PmaAbsoluteUri'] /etc/phpmyadmin/config.inc.php 中?如果是,那么正确的价值是什么? (cf https://docs.phmyadmin.net/en/latest/ FAQ.html#FAQ4-7 )(我将许多人TRID没有成功)
  • 如果我没有proxy_pass php_my_admin会更好吗? (而是管理 http://www.jaredlog.com/?p=2117 < / a>,即使我的配置不同?)
如果需要,请不要犹豫,进一步询问其他信息。
英文原文

I'm quite new to apache and even newer to reverse proxy, but I ended up installing a server with nginx (as a reverse proxy) and apache, to manage websites with different technologies. A php website (called php_site below) is handled by apache, a ruby on rails website is handled by nginx. More websites should be added later. Everything's working fine, except for phpmyadmin.

My problem : I can get to phpmyadmin login page (either through www.php_site.org/phpmyadmin/ or xx.xx.xx.xxx:8080/phpmyadmin/, xx being my server external IP), but I don't manage to log in. I'm pretty sure I have the good credentials, but when I submit the form, phpmyadmin login page simply reloads, without displaying errors.

My conf :

  • ubuntu 16.04
  • php 5.6 (because an old project needed it)
  • phpmyadmin 4.5.4.1
  • mysql 5.7.17
  • Apache/2.4.18

phpmyadmin is installed in /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;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header X-Forwarded-Proto $scheme;   }   client_max_body_size 15M;  }  server {     listen 80;     server_name php_site.org;     rewrite ^ http://www.php_site.org$request_uri? permanent; } 

Apache conf (php_site) :

# /etc/apache2/sites-available/php_site.conf NameVirtualHost  *:8080  <VirtualHost *:8080>    ServerName www.php_site.org   ServerAdmin myself@mail.com   DocumentRoot /var/www/php_site.com/htdocs     <Directory /var/www/php_site.com/htdocs >     AllowOverride All     DirectoryIndex index.php   </Directory>    ErrorLog /var/log/apache2/php_site-error.log    LogLevel warn    CustomLog /var/log/apache2/php_site.log combined  </VirtualHost>  <VirtualHost *:8080>     ServerName php_site.org     Redirect permanent / http://www.php_site.org/ </VirtualHost> 

Questions :

  • is there something wrong with my conf ?
  • do I need to set $cfg['PmaAbsoluteUri'] in /etc/phpmyadmin/config.inc.php ? And if yes, what is the correct value ? (cf https://docs.phpmyadmin.net/en/latest/faq.html#faq4-7) (I trid many with no success)
  • would it be better if I didn't proxy_pass php_my_admin ? (and manage instead to do something like http://www.jaredlog.com/?p=2117, even if my configuration is different ?)

Don't hesitate to ask fo further info if needed.

           
 
 

回答列表

1
 
vote
好的,好的,古典而荒谬的嘲弄我的。

问题实际上源自较旧的配置文件更改。

我是如何到达的: 作为 AlexD 建议,我将更多地过粗略地检查了我的日志 /var/log/apache2/php_site-error.log ,并在i时看到了以下错误试图连接:

PHP Warning: Unknown: POST Content-Length of 122 bytes exceeds the limit of 20 bytes in Unknown on line 0.

这让我记得,我几天前已经改变了 /etc/php/5.6/apache2/php.ini ,更新上载文件大小。自今一天以来似乎没有提供任何错误,原因是我不怀疑这种变化的原因。

php.ini 中,我注意到: post_max_size = 15 。 'M'缺失。一旦我更改为 post_max_size = 15M 并重新启动的apache,请解决登录问题。

 

ok, kind of classical and ridiculous mystake of mine.

The problem actually originated in older changes in configuration files.

How did I got there : as AlexD advised, I checked more scrupulously my logs /var/log/apache2/php_site-error.log , and saw the following error when I tried to connect :

PHP Warning: Unknown: POST Content-Length of 122 bytes exceeds the limit of 20 bytes in Unknown on line 0.

This made me remember that I had made a change to /etc/php/5.6/apache2/php.ini a few days ago, to update upload file size. It seemed not to provide any errors since this day, reason why I didn't suspect this change.

In php.ini, I noticed : post_max_size = 15. The 'M' was missing. As soon as I changed to post_max_size = 15M and restarted apache, login problem was resolved.

 
 

相关问题

1  nginx配置使用codex的配置错误示例:这是Codex中的拼写错误吗?  ( Nginx configuration error using codex example is this a typo in codex ) 
我使用本教程安装了nginx: c3m数字nginx tuturial 但在阅读本文后,"剪切和粘贴" 配置教程中的安全问题: Neal Poole的关于安全和nginx配置的文章 我决定跟随Poole的建议,使用WordPress Codex中建议的配置: codex在nginx配置上 使用W3...

-1  NGNIX未知指令  ( Ngnix unknown directive ) 
在Amazon EC2上使用Ubuntu。重新启动服务器时,我正在收到此错误消息: unknown directive "ec2-54-201-86-229.us-west-2.compute.amazonaws.com" in /etc/nginx/conf.d/default.conf:3 我正在遵循安...

0  nginx俘虏门户Radius身份验证  ( Nginx captive portal radius authentication ) 
我有多个ruckus接入点,我想为客户身份验证提供自定义俘虏门户。 我想要的是检查用户当前是否有访问 - 然后将他切换到他想要的网站,如果没有 - 显示俘虏门户。 我可以用ngnix和 freeradius ? ...

5  在nginx配置文件中,如何定义包含“$”符号的fastcgi_param?  ( In a nginx configuration file how to define a fastcgi param that contains the ) 
我正在尝试为PHP应用程序定义一些环境变量,但其中一个变量包含"$" 符号。当我用 nginx -t 测试配置文件时,我收到一条错误消息,告诉我一个变量不存在。它似乎在"$" 作为变量名称之后解释文本,当然没有定义。 也许我没有在正确的地方搜索,但我找不到有关如何逃避"$" 字符的信息。这是可能的吗? 更新:我试图括...

1  在nginx的proxy_pass中删除一个cookie  ( Removing one cookie in proxy pass of nginx ) 
我正在尝试 proxy_pass 整个请求将我nginx到某些基本URL到另一个上游服务器删除 server cookie。所有其他cookie,HTTP标头,应保存URL本身,发送到上游和响应传回我的客户端。 到目前为止,我尝试了什么在本指南< / a>在nginx论坛上。以下是我的位置指令看起来如何: s...

0  如何在nginx中设置名为Virtual Hosts?  ( How to setup named virtual hosts in nginx ) 
我想一旦在我的本地浏览器中输入mysite.com即将指出127.0.0.1:8000。 我已经完成了一些研究,似乎是nginx我可以在端口80上设置反向代理,将流量重定向到Django端口8000。 我一直忘了一段时间并做了这些步骤。: sudo vi /etc/nginx/sites-enabled/defa...

0  编写nginx服务器块以捕获通配符n级子域?  ( Writing an nginx server block to capture wildcard n level subdomains ) 
我正在运行nginx代理服务器,以使用OpenResty / Lua和Letsencrypt自动生成SSL证书,在多租户SaaS平台中。我有许多需要证书的域,而且无法白发性审商它们,因此我的证书服务器接受指向它的所有请求。 我开始看到很多符合域结构的大量无效域请求: www.randomsubdomain.any...

1  nginx和php_fpm流文件需要三倍转移?  ( Nginx and php fpm streaming file takes triple in transfer ) 
我的设置: - nginx 1.0.6(从头开始编制) - PHP 5.3.8与PHP-FPM(也来自划痕)。 我使用这个php脚本将文件从远程站点流到我的用户: ● nagios-nrpe-server.service - Nagios Remote Plugin Executor Loaded:...

1  NGNIX套接字文件中未找到/ TMP和/ var / TMP / UWSGI?  ( Ngnix socket file not found in tmp and var tmp uwsgi ) 
在CentOS 7上,Nginx 1.10.2和UWSGI 2.0.14 当我配置UWSGI以在/ var / tmp / uwsgi或/ tmp中打开套接字时,我从nginx上看一条消息,说它找不到套接字文件: 2017/06/07 16:54:53 [crit] 2642#0: *7 connect() t...

0  如何配置nginx源服务器以返回陈旧的if-error和cache指令?  ( How do i configure an nginx origin server to return stale if error and cache dir ) 
我有一个服务静态站点的nginx服务器(但我也概括了为动态内容工作的配置。 这是原点服务器,而不是代理。我希望nginx服务器用响应 Cache-Control: max-age=… stale-if-error=$MAX_STALENESS stale-while-revalidate=$MAX_STALEN...

4  nginx的默认目录?  ( Default directory for nginx ) 
我有Ubuntu 15.04。搜索后,我发现各种链接建议nginx的默认目录 /usr/share/nginx/html 。它看起来是创建的目录,并且已经存在一个 /usr/share/nginx/htmlcdefghijklmn2 文件。我试图添加另一个HTML文件,发现我无法浏览到该位置。然后,我发现了另一个链接...

0  如何使挖掘荣誉TTLS /使用本地操作系统缓存?  ( How to make dig honour ttls use the local os cache ) 
当我运行 dig example.com 响应回到 SERVER: 192.168.0.1 ,即使在后续运行。这意味着dig始终正在进行网络调用来解析DNS记录。 i(相反,不知情)假设我的操作系统将根据其TTL缓存DNS记录,并且该挖掘将使用该缓存。 dig否则默认忽略ttl /不使用缓存?如果是,我如何让挖掘...

0  nginx可以从URL加载证书  ( Is it possible for nginx to load certs from a url ) 
我们托管许多不同的域,目前证书生活在数据库中。在那里的证书中逐渐变得越来越乏味,只有Nginx可以加载它们。 如果我们可以像以下类似的东西会很好: server { server_name www.example.com; listen 443 ssl; ssl_certificat...

-1  nginx:同一域上的不同网站  ( Nginx different sites on the same domain ) 
我正在研究几个PHP项目,我想在不同的别名上部署在同一个nginx webserver(同名)上的项目。例如: http://localhost/project1, http://localhost/project2 。我认为如果在-avabible和启用的站点中添加多个配置,则可以足够,但它不起作用。另一件事我想要...

0  nginx拆分在多个文件中  ( Nginx split config in multiple files ) 
我还在学习nginx,我遇到了一个问题。 所以之前开始我的项目我正在拆分配置文件的问题。 因此,该想法是拥有一个"主要" 文件,其中服务器配置,示例: server { server_name demo.server.com; include my/custom/location/*.nginx...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.