
Web、電子メール、VPS サーバーをホストするために、新しいサーバーに Proxmox をインストールすることにしました。こうすることで、サーバーの種類ごとに複数の VM をセットアップできます。
私は Apache Web サーバーに Debian 9 を使いました。また、WordPress サイトを duplicator プラグインを使用してインポートし、問題なく動作しました。PHPMyAdmin の WP_Options テーブルを編集して、サイト URL を HTTP ではなく https に変更し、Apache 仮想ホストを次のように設定しました (mydomain.com.conf)。
<VirtualHost *:80>
ServerName mydomain.com
ServerAdmin root@localhost
Redirect "/" "https:// mydomain.com"
</VirtualHost>
<VirtualHost *:443>
ServerAdmin root@localhost
DocumentRoot /var/www/mydomain.com
ServerName mydomain.com
ServerAlias www.mydomain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
<Directory /var/www/mydomain.com>
AllowOverride All
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
次のように Windows ホスト ファイルにルールを設定することで、ローカルで Web サイトにアクセスできます。
192.168.10.104 mydomain.com
また、ウェブサーバーが新しいIPアドレスを取得するのを避けるために、静的IPを設定しました。これは/etc/network/interfacesで行いました。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens18
iface ens18 inet static
address 192.168.10.104
netmask 255.255.255.0
gateway 192.168.10.1
# This is an autoconfigured IPv6 interface
iface ens18 inet6 auto
私は自分の[パブリックIPアドレス][1]用に仮想ホストを作成したことを指摘しておきます。
競合を避けるために、UFW ファイアウォールを無効にし、fail2ban を削除しました。今のところは。
私の見解では、DNS、ネームサーバー、ポート転送は正しく設定されています。ただし、間違っている可能性もあります。
[私のドメインレジストラのNS構成][2]
[DigitalOcean での私の DNS 設定][3]
[私のポート転送設定][4]
[UpTrends][5] を使用して自分の Web サイトにアクセスしようとすると、「TCP 接続に失敗しました」というメッセージが表示されます。Web サイトのローカル側から見ると、SSL 証明書にも問題はありません。
何かアドバイス?
答え1
ついに!
修正方法は、サーバーの再起動に加えて、ルーターを再起動する(電源を 10 秒間切断する)だけで済むことが判明しました。
時々、問題は簡単だが予想外の方法で解決できることがあります:)
答え2
DNS 構成は正しく、アクセスするとhttp://example.com
publicip:80 に正常に接続され、HTTP リダイレクトが提供されます。
ただし、publicip:443 (つまりhttps://example.com
) に接続すると、ICMP「ホストに到達できません」が返されます。この場合、これはルーター (パブリック IP アドレスを持つデバイス。Proxmox ホストか専用ルーターかは関係ありません) または Web サーバー自体から来ている必要があります。
ICMPエラーは遅延を伴うため、最も可能性が高いこれはルータから送信され、:443 のポート転送ルールが間違った IP アドレス (使用されていない IP アドレス、つまり ARP 応答タイムアウト) を指していることを示します。
(ファイアウォール ブロックの場合、接続試行はすぐに RST または ICMP エラーを返すか、何も返さないかのいずれかになります。)
設定が見てそうです、tcpdump
何があるか見てみましょう実は発生しています。Proxmoxtcpdump -e -n -i <interface> "arp or port 443"
ホスト (Web VM に面したインターフェース) で実行すると、ポート転送ルールが到達しようとしている実際の IP アドレスが表示されます。
一般的にも同じことが言えます。ただ電源を切るだけでは十分ではありません。現在ファイアウォール ルール (実際のファイアウォールは iptables または nft のいずれか)。つまり、現在の状態が要求された状態と一致するかどうかを確認します。 、、で確認するまで、ufw を無効にするとファイアウォールが完全に空になったかどうかはわかりませんiptables-save
。iptables-legacy-save
nft list ruleset