httpd仮想ホストおよび仮想ホストによるサーバ状態の表示
http仮想ホストの役割:複数のサイトを同じIPにバインドすることも、同じホスト上で複数のサイトを複数のIPにバインドすることもできます.
仮想ホストは、ポートに基づいてバインドすることも、IPに基づいてバインドすることもできます.例は次のとおりです.
または
以上の2種類も混合して使用することができる.複数のドメイン名が1つのIPおよびポートを共有することもでき、この場合、dnsが複数のドメイン名を同じIPアドレスにマッピングする必要がある.
仮想ホストの構成(CentOS 7の例):
Apache httpdプロファイル:
プライマリプロファイル:
1、インストールサービス:
2、メインプロファイルをバックアップし、変更して、後で仮想ホストを開く:
3、ServerName www.exampleを見つける.com:80、内容を追加します.
4、/etc/http/conf.d/仮想ホストプロファイルを新規作成し、後続の管理を容易にし、使用しない時に削除すればよい
4.1ポートベース方式を使用する場合、
4.2 IPベース方式を用いると、
4.3 FQDN方式を使用する場合(この方法は主にDNSサーバによって複数のドメイン名とIPをバインドする)
注意:httpdのプロファイルを変更した後、httpd-tを使用してプロファイルを確認し、サービスを再起動する問題はありません.
発生する可能性のある問題と解決方法
1、上記の構成により、仮想ホストにアクセスできない問題がある場合があります.SELinuxおよびiptablesを閉じてください.
2、この時点でアクセスできない場合、プロンプトパスにアクセスできないforbiddenエラーは、仮想ホストプロファイルに次の内容を追加します.
注意:Webファイルのアクセスはデフォルトでは許可されていません
追加後、httpd-tは文法エラーをチェックし、問題がなければサービスを再起動すればいい.このとき、仮想ホストは正常にアクセスできるはずだ.
server-statusおよびアイデンティティ認証
1.仮想ホストからサーバのステータスを取得し、認証が必要な場合は、次の内容を追加します.
2.htpasswd-c-m/etc/http/conf/.htpasswd USERNAMEユーザー名の作成とパスワードの設定
注意:-cコマンドは、ユーザーの最初の作成時にのみ使用され、ユーザーはパスワードファイルを生成します.
仮想ホストは、ポートに基づいてバインドすることも、IPに基づいてバインドすることもできます.例は次のとおりです.
www.a.com --> 10.1.1.100:80
www.b.net --> 10.1.1.100:808
www.c.org --> 10.1.1.100:8080
または
www.a.com --> 10.1.1.100
www.b.net --> 10.1.1.101
www.c.org --> 10.1.1.102
以上の2種類も混合して使用することができる.複数のドメイン名が1つのIPおよびポートを共有することもでき、この場合、dnsが複数のドメイン名を同じIPアドレスにマッピングする必要がある.
仮想ホストの構成(CentOS 7の例):
Apache httpdプロファイル:
プライマリプロファイル:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*conf #
1、インストールサービス:
yum -y install httpd
2、メインプロファイルをバックアップし、変更して、後で仮想ホストを開く:
vim /etc/httpd/conf/httpd.conf,
# DocumentRoot "/var/www"---> httpd
3、ServerName www.exampleを見つける.com:80、内容を追加します.
ServerName localhost:80 # httpd DNS hostname
4、/etc/http/conf.d/仮想ホストプロファイルを新規作成し、後続の管理を容易にし、使用しない時に削除すればよい
vim /etc/httpd/conf.d/vhosts.conf
4.1ポートベース方式を使用する場合、
Listen 808 #
ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/" # , index.html
ServerName www.b.net
DocumentRoot "/www/b.net/htdocs/"
4.2 IPベース方式を用いると、
ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/" # , index.html
ServerName www.b.net
DocumentRoot "/www/b.net/htdocs/"
4.3 FQDN方式を使用する場合(この方法は主にDNSサーバによって複数のドメイン名とIPをバインドする)
ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/"
ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/"
注意:httpdのプロファイルを変更した後、httpd-tを使用してプロファイルを確認し、サービスを再起動する問題はありません.
発生する可能性のある問題と解決方法
1、上記の構成により、仮想ホストにアクセスできない問題がある場合があります.SELinuxおよびiptablesを閉じてください.
SElinux :
setenforce 0 #
vim /etc/selinux/config #
SELINUX=disabled
SELinux :
getenforce
disable #
CentOS 7 :
systemctl disable firewalld.service
2、この時点でアクセスできない場合、プロンプトパスにアクセスできないforbiddenエラーは、仮想ホストプロファイルに次の内容を追加します.
# ,
AllowOverride None
# Allow open access:
Require all granted
注意:Webファイルのアクセスはデフォルトでは許可されていません
追加後、httpd-tは文法エラーをチェックし、問題がなければサービスを再起動すればいい.このとき、仮想ホストは正常にアクセスできるはずだ.
server-statusおよびアイデンティティ認証
1.仮想ホストからサーバのステータスを取得し、認証が必要な場合は、次の内容を追加します.
ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/"
SetHandler server-status
AuthType Basic
AuthName "ENTER YOUR ID"
AuthUserFile /etc/httpd/conf/.htpasswd #
Require valid-user # ,
2.htpasswd-c-m/etc/http/conf/.htpasswd USERNAMEユーザー名の作成とパスワードの設定
注意:-cコマンドは、ユーザーの最初の作成時にのみ使用され、ユーザーはパスワードファイルを生成します.