質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

Q&A

解決済

1回答

1084閲覧

Wordpress リバースプロキシの設定(Nginx)

kazuz

総合スコア20

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

0グッド

0クリップ

投稿2023/04/11 10:17

実現したいこと

Nginxのリバースプロキシ環境課でWordPressを動かしたいのですが、ログイン画面が404エラーになってしまう。

環境はこんな感じ
WAN

Nginx(192.168.200.100)

Nginx wordpress (192.168.200.151)
/var/www/html/wordpress(とりあえずこっちにアクセスしたい)
/var/www/html/wordpress02
/var/www/html/wordpress03

Nginx(192.168.200.100)側のconfig

server { root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.html index.php; #listen 80; listen [::]:443 ssl; # managed by Certbot listen 443 ssl; ssl_certificate /etc/letsencrypt/live/<ドメイン名>/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/<ドメイン名>/privkey.pem; # managed by Certbot server_name <ドメイン名>; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-Proto https; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; location / { proxy_pass http://192.168.200.151/wordpress/; } # pass PHP scripts to FastCGI server location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } } map $http_upgrade $connection_upgrade { default upgrade; '' close; }

Nginx wordpress (192.168.200.151)側のconfig

server { listen 80 default_server; listen [::]:80 default_server; server_name _; index index.html index.htm index.nginx-debian.html index.php; client_max_body_size 3G; root /var/www/html/; location / { try_files $uri $uri/ /wordpress/index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }

wp-config.php 追記分

define('FORCE_SSL_ADMIN', true); if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false){ $_SERVER['HTTPS'] = 'on'; $_SERVER['SERVER_PORT'] = 443; } if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST']; }

困っていること

wp-login.phpのみ 404エラーになってしまう

原因としてはどんな事があるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

192.168.200.100 に .php の設定があるため、本来は 192.168.200.151 で実行されるべき wp-login.php が 192.168.200.100 で実行されているのだと思います。

192.168.200.100 の location ~ .php$ { ... } 箇所を削除してみてください。

投稿2023/04/11 12:35

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問