Nginx

wp-admin 在任何登錄嘗試後重定向回 wp-login

  • June 16, 2017

我不確定是否將其發佈到 wordpress stackexchange 或此處,但由於這是更多伺服器配置,我假設在這裡。

我的問題是配置問題。這是我的設置:

Docker 實例在埠 80 上的內部 docker IP 地址上執行 Docker 實例執行 nginx,它是反向代理(面向公眾的埠 80) 反向代理(面向公眾)通過 wordpress 在內部 IP 地址上為 Docker 實例提供網際網路

這個問題是一個相當獨特的問題,因為在查看索引頁面或其他頁面(關於或其他頁面)時,它工作得很好。只有在登錄 wordpress 時才會出現此問題。

  1. 我去https://example.com/wp-admin並登錄
  2. 登錄後它繼續將我重定向到https://example.com/wp-login.php(正確或不正確的資訊,沒有消息)
  3. 每次我嘗試登錄時,它都會從那裡一次又一次地循環,沒有跡象表明登錄已被處理。沒有“密碼不正確”,只顯示登錄頁面。

這不是瀏覽器停止它的重定向循環(無限循環),它根本沒有正確處理登錄。換句話說,我可以查看頁面並送出登錄,但它根本不處理它。

我嘗試禁用所有外掛,甚至創建沒有外掛的全新安裝 - 我有同樣的問題。它讓我相信這要麼是我的 nginx 配置的問題,要麼是 wordpress 本身的問題——我目前不確定。

我正在使用此設置,以便可以輕鬆地將新網站添加到伺服器(這是專用伺服器),並且如果需要,可以在需要時重新啟動各個站點,而無需關閉使用反向代理託管的所有站點。

mysql 可以正常訪問,因為文章和頁面載入正常,沒有問題。只有在嘗試登錄時才會出現此問題。

我的反向代理配置:

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;

   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 http;
   proxy_set_header      X-Forwarded-Port 80;
   proxy_set_header      Host $host;

   proxy_pass http://172.17.0.4:80;
}

port_in_redirect off;
}

我的 wordpress nginx 配置:

server {
   listen 80;
   server_name example.com;
   index index.php index.html default.php default.html index.htm deafult.htm;

   root /mrparker;
   location / {
           try_files $uri $uri/ /index.php?q=$uri&$args;
   }

   location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/run/php/php7.0-fpm.sock;
   }

   server_tokens off;
   port_in_redirect off;
}

很可能您設置了登錄和管理的預設設置。

// 安全登錄和管理員定義(‘FORCE_SSL_LOGIN’, true); 定義(‘FORCE_SSL_ADMIN’,真);

如果您允許不安全(非 HTTPS)登錄,您應該能夠通過 HTTP 登錄。但是,您還需要允許不安全(非 HTTPS)管理通過 HTTP 訪問管理頁面。

最好設置 HTTPS 並安全地訪問這些功能。您可以使用自簽名證書、來自 Let’s Encrypt 的證書或來自任意數量的證書頒發機構的證書。

引用自:https://serverfault.com/questions/856199