SAKURA VPS 1G
CentOS7
PHP バージョン7.4
MySQL バージョン5.6
WORDPRESSの推奨バージョンを使い
二つのサブドメインサイト「huga.aaa.jp」「hoge.aaa.jp」セットアップをしようとしているのですが
どちらも初期のインストール画面から「https」でアクセスすると画面が崩れます
ソースを見るとスタイルシートなどがすべて「http」になっています
インストール後ならわかるのですが、初期セットアップ時から崩れる意味が分かりません
これはなにが原因かわかる方いらっしゃいますでしょうか
「http」でアクセスすると崩れはなくなるので
一旦非SSLでインストールをして、セットアップを完了後管理画面のSSL化(最新のWPではデフォルトで用意されています)ボタンを押すと
画面がリダイレクトループになって二度と管理画面に入れなくなります
クッキーを削除しても、プライベートブラウジングにしても結果は同じです
「https」で崩れたままセットアップを完了すると
ログインができません
サーバをセットアップしたコマンド一覧は以下の通りです
PHP7.4をインストール
yum -y update && \ yum -y install epel-release mod_ssl openssl && \ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && \ yum install -y --enablerepo=remi,remi-php74 php php-devel php-mysql php-gd php-mbstring php-pear php-imap php-xmlrp php-xml php-pgsql php-mcrypt && \ systemctl start httpd.service && \ systemctl enable httpd.service && \
MYSQL5.6
yum -y remove mariadb-libs && \ rm -rf /var/lib/mysql/ && \ yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm && \ yum -y install yum-utils && \ yum-config-manager --disable mysql57-community && \ yum-config-manager --enable mysql56-community && \ yum -y install mysql-community-server && \ systemctl enable mysqld && \ systemctl start mysqld && \
最新のワードプレス設置
cd /var/www/html && \ wget https://ja.wordpress.org/latest-ja.tar.gz && \ tar -xzvf latest-ja.tar.gz && \ mv wordpress/ huga/ && \ tar -xzvf latest-ja.tar.gz && \ mv wordpress/ hoge/ vi /etc/httpd/conf/httpd.conf <VirtualHost *:80> ServerName huga.aaa.jp DocumentRoot "/var/www/html/huga/" </VirtualHost> <VirtualHost *:80> ServerName hoge.aaa.jp DocumentRoot "/var/www/html/hoge/" </VirtualHost> systemctl restart httpd vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/letsencrypt/live/huga/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/huga/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/huga/chain.pem <VirtualHost *:443> ServerName huga.aaa.jp DocumentRoot "/var/www/html/huga/" </VirtualHost> <VirtualHost *:443> ServerName hoge.aaa.jp DocumentRoot "/var/www/html/hoge/" </VirtualHost> systemctl restart httpd
レッツエンクリプト
yum -y install snapd && \ systemctl enable --now snapd.socket && \ ln -s /var/lib/snapd/snap /snap && \ systemctl start snapd.seeded.service && \ snap install --classic certbot && \ sudo ln -s /snap/bin/certbot /usr/bin/certbot && \ certbot certonly --webroot -w /var/www/html/huga -d huga.aaa.jp -w /var/www/html/hoge -d hoge.aaa.jp
確認したコマンドを書いていきます
# apachectl -v Server version: Apache/2.4.6 (CentOS) Server built: Nov 16 2020 16:18:20 # apachectl configtest Syntax OK # httpd -D DUMP_VHOSTS VirtualHost configuration: *:443 is a NameVirtualHost default server XXX.sakura.ne.jp (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost XXX.sakura.ne.jp (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost huga.aaa.jp (/etc/httpd/conf.d/ssl.conf:221) port 443 namevhost hoge.aaa.jp (/etc/httpd/conf.d/ssl.conf:226) *:80 is a NameVirtualHost default server XXX.XXX.XXX.XXX (/etc/httpd/conf/httpd.conf:356) port 80 namevhost XXX.XXX.XXX.XXX (/etc/httpd/conf/httpd.conf:356) port 80 namevhost hoge.aaa.jp (/etc/httpd/conf/httpd.conf:366) port 80 namevhost huga.aaa.jp (/etc/httpd/conf/httpd.conf:371) 「.htaccess」ファイルに関しましては VPSのインストール、WPの展開後、ともになにも追加はしていません WPのディレクトリルートを確認するとそれらしきファイルはありませんでした
https://qiita.com/backgroundcolor/items/22ff275d0e82d4e5edd7
上記にあります通り
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS'] = 'on';
を試しましたが改善はされませんでした
var_dump($_SERVER['HTTP_X_FORWARDED_PROTO']); NULL
HTTP_X_FORWARDED_PROTOのパラメータがそもそも入っていないので
上記は動かないようです
有無を言わさず強制的にSSLをONはうまくいきました
$_SERVER['HTTPS'] = 'on';
もう今の時代非SSLを使うことはほぼないと思うので
もうこれでもいいのですが、根本的な原因が知りたいので
このままオープンにさせていただきます
上記の強制的にSSLをONの方法はダメでした
セットアップを最後まで進め(この時点ではSSLでも崩れなし)
ログインしようとすると、「このページにアクセスする権限がありません。」とでて
ログインできません、、、wordpressが嫌いになりそうです。。
https://ysklog.net/wordpress/2025.html
たった今インストールしたばかりなので移転もデータベースの接頭辞を変更などもしていません
試しに環境変数を全部出してみました
SSLで接続しています
print_r($_SERVER); Array ( [UNIQUE_ID] => XXXXXXXXXXXXXXXXXXX [HTTP_HOST] => huga.aaa.jp [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => ja,en-US;q=0.7,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip, deflate, br [HTTP_CONNECTION] => keep-alive [HTTP_COOKIE] => XXXXX [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_CACHE_CONTROL] => max-age=0 [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16 [SERVER_NAME] => huga.aaa.jp [SERVER_ADDR] => XXX.XXX.XXX.XXX [SERVER_PORT] => 80 [REMOTE_ADDR] => XXX.XXX.XXX.XXX [DOCUMENT_ROOT] => /var/www/html/huga/ [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /var/www/html/huga/ [SERVER_ADMIN] => root@localhost [SCRIPT_FILENAME] => /var/www/html/huga/tera.php [REMOTE_PORT] => 638 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /tera.php [SCRIPT_NAME] => /tera.php [PHP_SELF] => /tera.php [REQUEST_TIME_FLOAT] => XXX [REQUEST_TIME] => XXX )
気になるのはSSLで接続しているのにも関わらず
[SERVER_PORT] => 80
[REQUEST_SCHEME] => http
と非SSLのような値になっていることです
設定のなにかが間違っているのでしょうか
回答1件
あなたの回答
tips
プレビュー