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

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

ただいまの
回答率

87.37%

httpsでwordpressにアクセスできない

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 948

score 40

前提・実現したいこと

Azureにubuntu VMを構築して、wordpressをインストールしました。
http://13.71.0.00でサイトを見えます。
「設定」>「一般」でwordpressのアクセスURLをhttpsに変えました。
https://13.71.0.00でサイトを見えなくなっています。

httpでアクセスできるように戻りたいです。
復旧できる方法をご指導ください。

発生している問題・エラーメッセージ

Failed to connect to 13.71.**.** port 443: Connection refused

試したこと

1.受信規則に443を公開している
2.さらに、下記のように443公開を追加した

  sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
  sudo iptables-save | sudo tee /etc/iptables.rules
  cd /etc/network/if-pre-up.d/
  sudo vi iptables_start
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables.rules
    exit 0
  sudo chmod a+x /etc/network/if-pre-up.d/iptables_start
  reboot


3./etc/apache2/site-available/001-wordpress.confに下記を追加

<VirtualHost *:443>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/wordpress

    <Directory "/var/www/wordpress">
        Options FollowSymLinks
        # .htaccess による設定変更を許可
        AllowOverride All
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
    </Directory>

    # wp-config.phpへのアクセスをすべて拒否します。
    <Files wp-config.php>
        order allow,deny
        deny from all
    </Files>

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


4./etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • CHERRY

    2020/05/26 19:31

    SSL 証明書は、どのように取得してセットアップされたのでしょうか?

    キャンセル

  • wangzj

    2020/05/26 19:34

    SSL証明書はまだ設定してないです。

    キャンセル

  • wangzj

    2020/05/26 21:00 編集

    https://www.liquidweb.com/kb/install-wp-cli/
    wpをインストールして、wpコマンドでURLを変えました。
    wp option update home 'http://11.11.11.10&#039;
    wp option update siteurl 'http://11.11.11.10&#039;

    キャンセル

回答 3

+1

SSL証明書はまだ設定してないです。

https 設定すると Web サーバーが SSL証明書を必要とするので、SSL 証明書を設定していない場合は、アクセスできなくなります。


wp option update home 'http://11.11.11.10&#039;
wp option update siteurl 'http://11.11.11.10&#039;

を実行した結果は、どうだったのでしょうか?
アクセスできなかったのでしょうか。

また、 wp コマンドは、変更したい WordPress のディレクトリで実行されましたか? ( wp-config.php があるディレクトリ ) 


以下、一般的な修正方法を...

WordPress の「サイトURL」と「WordPress アドレス」を間違えて変更したのであれば、下記の方法 (方法1 又は 方法2)で修正できないでしょうか?

方法1) 

functions.php の編集 してデータベースを書き換える

お使いのテーマの functions.php の1行目の <?php の次の行に下記を記載する

update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

http://example.com の部分は、ご自身のWordPress の正しい URL を記載する。

方法2) 

wp-config.php の編集 して、wp-config.php に下記を記載する。

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

http://example.com の部分は、ご自身のWordPress の正しい URL を記載する。

方法3)

リロケート・メソッド」を使う

方法4)

データベースで URL を直接編集する


あたりを参照

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/05/27 14:33

    ご回答ありがとうございます。
    助かりました。
    すでに解決しました。

    キャンセル

check解決した方法

0

1.まず、httpsからhttpに復旧する方法
WordPress アドレス (URL)、サイトアドレス (URL)、両方とも、誤ってhttpsに設定してしまったので、画面経由でURLの復旧には不可能です。
https://www.liquidweb.com/kb/install-wp-cli/
wpをインストールして、wpコマンドでURLを変えました。

wp option update home 'http://11.11.*.*';
wp option update siteurl 'http://11.11.*.*';


これで画面アクセスは可能になります。

2.wordpressのSSL化対応について
これは、いろいろ調べました。
まず、自分の環境を明確にします。
こちらの環境:ubuntu16、LAMP、wordpress
2.1.証明書を作成する
**.**は自分のドメイン

sudo apt-get install letsencrypt
sudo service apache2 stop
sudo letsencrypt certonly --standalone -d ****.**
    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/****.**/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/****.**/privkey.pem
       Your cert will expire on 2020-08-25. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot
       again. To non-interactively renew *all* of your certificates, run
       "certbot renew"    
     - Your account credentials have been saved in your Certbot    
       configuration directory at /etc/letsencrypt. You should make a    
       secure backup of this folder now. This configuration directory will    
       also contain certificates and private keys obtained by Certbot so    
       making regular backups of this folder is ideal.    
     - If you like Certbot, please consider supporting our work by:    

       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate    
       Donating to EFF:                    https://eff.org/donate-le    

sudo service apache2 start


2.2.Apacheの設定
証明書に関する設定

$ cd /etc/apache2/sites-available/
$ sudo nano default-ssl.conf
    SSL証明書関連は、下記のように記述。
        SSLCertificateFile /etc/letsencrypt/live/****.**/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/****.**/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/****.**/fullchain.pem

httpsアクセスに関する設定

$ cd /etc/apache2/sites-available/
$ sudo nano 001-wordpress.conf


下記をファイルに追加    

<IfModule mod_ssl.c>    
    <VirtualHost _default_:443>    
        ServerAdmin webmaster@localhost    

        DocumentRoot /var/www/wordpress    

        <Directory "/var/www/wordpress">    
            Options FollowSymLinks    
            # .htaccess による設定変更を許可    
            AllowOverride All    
                Order allow,deny    
                Allow from all    
        </Directory>    

        <Files wp-config.php>    
               order allow,deny    
               deny from all    
        </Files>    

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,    
        # error, crit, alert, emerg.    
        # It is also possible to configure the loglevel for particular    
        # modules, e.g.    
        #LogLevel info ssl:warn    

        ErrorLog ${APACHE_LOG_DIR}/error.log    
        CustomLog ${APACHE_LOG_DIR}/access.log combined    

        # For most configuration files from conf-available/, which are    
        # enabled or disabled at a global level, it is possible to    
        # include a line for only one particular virtual host. For example the    
        # following line enables the CGI configuration for this host only    
        # after it has been globally disabled with "a2disconf".    
        #Include conf-available/serve-cgi-bin.conf    

        #   SSL Engine Switch:    
        #   Enable/Disable SSL for this virtual host.    
        SSLEngine on    

        #   A self-signed (snakeoil) certificate can be created by installing    
        #   the ssl-cert package. See    
        #   /usr/share/doc/apache2/README.Debian.gz for more info.    
        #   If both key and certificate are stored in the same file, only the    
        #   SSLCertificateFile directive is needed.    
        ##SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem    
        ##SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key    
        SSLCertificateFile  /etc/letsencrypt/live/****.**/fullchain.pem    
        SSLCertificateKeyFile /etc/letsencrypt/live/****.**/privkey.pem    

        #   Server Certificate Chain:    
        #   Point SSLCertificateChainFile at a file containing the    
        #   concatenation of PEM encoded CA certificates which form the    
        #   certificate chain for the server certificate. Alternatively    
        #   the referenced file can be the same as SSLCertificateFile    
        #   when the CA certificates are directly appended to the server    
        #   certificate for convinience.    
        #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt    
        SSLCertificateChainFile /etc/letsencrypt/live/****.**/fullchain.pem    

        #   Certificate Authority (CA):    
        #   Set the CA certificate verification path where to find CA    
        #   certificates for client authentication or alternatively one    
        #   huge file containing all of them (file must be PEM encoded)    
        #   Note: Inside SSLCACertificatePath you need hash symlinks    
        #        to point to the certificate files. Use the provided    
        #        Makefile to update the hash symlinks after changes.    
        #SSLCACertificatePath /etc/ssl/certs/    
        #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt    

        #   Certificate Revocation Lists (CRL):    
        #   Set the CA revocation path where to find CA CRLs for client    
        #   authentication or alternatively one huge file containing all    
        #   of them (file must be PEM encoded)    
        #   Note: Inside SSLCARevocationPath you need hash symlinks    
        #        to point to the certificate files. Use the provided    
        #        Makefile to update the hash symlinks after changes.    
        #SSLCARevocationPath /etc/apache2/ssl.crl/    
        #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl    

        #   Client Authentication (Type):    
        #   Client certificate verification type and depth.  Types are    
        #   none, optional, require and optional_no_ca.  Depth is a    
        #   number which specifies how deeply to verify the certificate    
        #   issuer chain before deciding the certificate is not valid.    
        #SSLVerifyClient require    
        #SSLVerifyDepth  10    

        #   SSL Engine Options:    
        #   Set various options for the SSL engine.    
        #   o FakeBasicAuth:    
        #    Translate the client X.509 into a Basic Authorisation.  This means that    
        #    the standard Auth/DBMAuth methods can be used for access control.  The    
        #    user name is the `one line' version of the client's X.509 certificate.    
        #    Note that no password is obtained from the user. Every entry in the user    
        #    file needs this password: `xxj31ZMTZzkVA'.    
        #   o ExportCertData:    
        #    This exports two additional environment variables: SSL_CLIENT_CERT and    
        #    SSL_SERVER_CERT. These contain the PEM-encoded certificates of the    
        #    server (always existing) and the client (only existing when client    
        #    authentication is used). This can be used to import the certificates    
        #    into CGI scripts.    
        #   o StdEnvVars:    
        #    This exports the standard SSL/TLS related `SSL_*' environment variables.    
        #    Per default this exportation is switched off for performance reasons,    
        #    because the extraction step is an expensive operation and is usually    
        #    useless for serving static content. So one usually enables the    
        #    exportation for CGI and SSI requests only.    
        #   o OptRenegotiate:    
        #    This enables optimized SSL connection renegotiation handling when SSL    
        #    directives are used in per-directory context.    
        #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire    
        <FilesMatch "\.(cgi|shtml|phtml|php)$">    
                SSLOptions +StdEnvVars    
        </FilesMatch>    
        <Directory /usr/lib/cgi-bin>    
                SSLOptions +StdEnvVars    
        </Directory>    


    </VirtualHost>    
</IfModule>    


2.3.設定の確認後、SSLモジュールとバーチャルホストの有効化

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo apache2ctl configtest
$ sudo service apache2 restart

2.4.WordPressの管理画面からURLを変更する
管理ユーザでログインし、設定→一般設定 のURLを “https” に変更し保存。

2.5.[.htaccess]にリダイレクト用のコードを追記
http でのアクセス要求を、https にリダイレクト(転送)するように、WordPressのドキュメントルートの.htaccess ファイルを編集。

$ sudo nano /var/www/wordpress/.htaccess    
    下記内容を、先頭部分に追加。
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} !=on [NC]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>


2.6.もう一回SSLモジュールとバーチャルホストの有効化(2.3.と同じ)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

http://13.71.0.00/wp-admin
など、管理画面には引き続きhttpでアクセスできると思います。
管理画面の「設定」>「一般」にて、「http」に戻してみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/05/27 09:18

    ご回答ありがとうございます。
    homeとsiteurl、両方ともhttpsに変更したので、http://13.71.0.00/wp-adminをアクセスできません。

    キャンセル

  • 2020/05/27 13:26

    すみません「0」が2つになっていました。1つだとどうでしょうか?
    http://13.71.0.0/wp-admin

    ----------------
    また別案として
    WordPressでデータベースの置換を行う場合 (サイトの移管、開発環境→本番環境への適用時、ドメイン変更時など)、「Search Replace DB」というツールをよく使うので使えるかもしれません。

    https://wheelchair-coder.com/281/
    https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

    キャンセル

  • 2020/05/27 14:02

    0.0はIPの省略です。

    キャンセル

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

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る