実現したいこと
- HTTPS通信を行えるようにしたい
現状
- 独自ドメインを利用している
- 証明書も独自ドメインのものを利用している
- HTTP通信は問題なく行えている
- HTTPS通信ができていない(443ポートが開いていない模様)
- chromeでは「このサイトにアクセスできません。<ドメイン> で接続が拒否されました。」と表示される
Webサービスを始めるにあたり、Webサーバーの構築を行っています。
今までに同様の経験がなく、調べてはみたものの原因がわからず質問させていただきます。
初歩的な見落としかもしれませんが、皆様のお気づきの点があればお力添えいただければ幸いです。
実施済みのこと
ファイアウォールの設定
# 一覧の確認 $ sudo ufw app list # 80,443ポートの許可 $ sudo ufw allow 'Apache Full' #ファイアウォールの有効化 $ sudo ufw enable # 設定の確認 $ sudo ufw status
PHPと関連パッケージのインストール
# 依存関係のパッケージインストール $ sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https # PHPインストール $ sudo apt install php7.4 # モジュール全てのインストール $ sudo apt install php7.4-mysql php7.4-common php7.4-mbstring php7.4-json php7.4-xml php7.4-zip php7.4-curl php7.4-intl php7.4-apcu php7.4-opcache
php.iniの編集
$ cd /etc/php/7.4/apache2 $ sudo cp php.ini php.ini.org $ sudo vi php.ini #変更後 error_log = /var/log/php.log mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.detect_order = auto expose_php = Off date.timezone = Asia/Tokyo
Apacheのインストール
$ sudo apt install apache2
Apache php7.4モジュールをアクティブ化し、Apacheを再起動
$ sudo a2enmod php7.4 $ sudo systemctl restart apache2
Apache・SSLの設定
$cd /etc/apache2/sites-available/ $sudo cp default-ssl.conf mywebssl.conf $sudo vi mywebssl.conf ~~ 編集 ~~
mywebssl.conf
1<VirtualHost *:80> 2 ServerName 独自ドメイン 3 ServerAlias 独自ドメイン 4 5 DocumentRoot /var/www/html 6 <Directory /var/www/html> 7 Options FollowSymLinks MultiViews SymLinksIfOwnerMatch 8 AllowOverride All 9 Require all granted 10 </Directory> 11</VirtualHost> 12<IfModule mod_ssl.c> 13 <VirtualHost *:443> 14 ServerName 独自ドメイン 15 ServerAlias 独自ドメイン 16 DocumentRoot /var/www/html 17 SSLEngine on 18 SSLCertificateChainFile /etc/ssl/certs/chain.cer 19 SSLCertificateFile /etc/ssl/certs/証明書.pem 20 SSLCertificateKeyFile /etc/ssl/private/秘密鍵.key 21 <Directory /opt/eccube> 22 Options FollowSymLinks MultiViews SymLinksIfOwnerMatch 23 AllowOverride All 24 Require all granted 25 </Directory> 26 </VirtualHost> 27</IfModule>
そのほか
- 証明書の設置を行いました。
試したこと
ブラウザで接続
- HTTP通信:問題なくindex.htmlが表示される
- HTTPS通信:「このサイトにアクセスできません。<ドメイン> で接続が拒否されました。」と表示される(chrome)
curlで接続
- curl http://localhost/:HTMLが出力される
- curl https://localhost/:「Failed to connect to localhost port 443: Connection refused」と表示される
ファイアウォールの無効後にcurlで接続(HTTPS)
- curl https://localhost/:「Failed to connect to localhost port 443: Connection refused」と表示される
原因がわからぬまま1日を費やしてしまいました。
些細なことでも構いませんので、お知恵をお貸しいただければ幸いです。
補足情報(FW/ツールのバージョンなど)
- Ubuntu:20.04
- Apache:2.4
- PHP:7.4

回答1件
あなたの回答
tips
プレビュー