私は Let's Encrypt 証明書、キー、チェーンが動作するように努めてきました。
しかし、私は何をすべきかを悟る前にする必要がないことを知っていたこともありました。
ポート443が開いていないので、「ports.conf」でも何かしましたが、元に戻したようです。
default-ssl.conf
1つを修正して作成しましたa2ensite
が、正常にmywebsite.com.conf
動作します。
キーファイルパスにエラーがあり、修正して再起動してみapache2
ましたが、本当の問題はこの時点から始まりました。
1つと2つのconfファイル(通常とSSL)を試しましたが、a2dissite
Apacheを再起動できませんでした。
唯一の違いは、CSRを作成して証明書ファイルに追加するなど、不要な操作を実行したことです。
これが言う内容です:
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Drop-In: /lib/systemd/system/apache2.service.d
└─forking.conf
Active: failed (Result: exit-code) since Wed 2017-01-18 06:23:59 PST; 3min 31s ago
Process: 31878 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 31861 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE)
Process: 30542 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Jan 18 06:22:10 archimedes systemd[1]: apache2.service: control process exited, code=exited status=1
Jan 18 06:22:10 archimedes systemd[1]: Reload failed for LSB: Apache2 web server.
Jan 18 06:23:37 archimedes systemd[1]: Reloading LSB: Apache2 web server.
Jan 18 06:23:38 archimedes apache2[31861]: Reloading web server: apache2 failed!
Jan 18 06:23:38 archimedes apache2[31861]: Apache2 is not running ... (warning).
Jan 18 06:23:38 archimedes systemd[1]: apache2.service: control process exited, code=exited status=1
Jan 18 06:23:38 archimedes systemd[1]: Reload failed for LSB: Apache2 web server.
Jan 18 06:23:59 archimedes apache2[31878]: Stopping web server: apache2.
Jan 18 06:23:59 archimedes systemd[1]: Unit apache2.service entered failed state.
Jan 18 06:27:04 archimedes systemd[1]: Unit apache2.service cannot be reloaded because it is inactive.
それからここで別の投稿を見て、誰かが言及してsudo reboot
これを試しましたが、パテが停止しました。しかし、パテを再び開いたときに再起動することができ、apache2
今は通常のHTTPに戻りました。
何が間違っているのか、どんなアイデアがありますか?
有効なサイトにSSLを再追加することをお勧めしますか?これでポート443が開いているようです。これは良いことです。
編集する: Apache2.conf ...
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
そして「mywebsite.com.conf」...
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mywebsite.com
ServerAlias www.mywebsite.com
DocumentRoot /var/www/html
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
ベストアンサー1
ルーターがポート80と443を許可していることを確認してください。
ポート80と443をサーバーに転送する必要があります。
ファイアウォールに穴が開いていることを確認してください。
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
ポート443(および80)のVirtualHostを定義します。
<VirtualHost *:80> ... your code here ... </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ... your code here ... </VirtualHost> </IfModule>
できるようにする
mod_rewrite
:sudo a2enmod rewrite
たとえば、HTTPからHTTPSへのリダイレクトを定義します。
RewriteCond %{HTTPS} !on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301]
最後に、Apacheを再起動します。
sudo service apache2 restart