サーバーで実行されているApacheインスタンスがあり、ポート80を使用しています。ポート8081を使用するnodejsアプリケーションもあります。サーバーを指すドメインがいくつかあります。Apacheはすべての要求を処理し、それらすべてに応答します。NodeJSアプリが応答するドメインの1つだけが必要です。言い換えれば、サーバーを指す1つのドメインでNodeJSアプリを実行する必要があります。
これは、namedの構成ファイルです。
/etc/named.conf
options {
#listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-transfer { localhost; ip-address; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion no;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone “maindomain.com” IN {
type master;
file “maindomain.com.zone”;
allow-update { none; };
};
zone “domain1.com” IN {
type master;
file “domain1.com.zone”;
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
これはゾーンファイルです。
/etc/named/domain1.com.zone
$TTL 86400
@ IN SOA ns1.maindomain.com. maindomain.com. (
2013042201
3600
1800
604800
86400
)
IN NS ns1. maindomain.com.
IN NS ns2. maindomain.com.
@ IN A ip
www IN A ip
* IN A ip
_http._tcp.domain1.com. IN SRV 0 5 8081 domain1.com.
NodeJSアプリで使用するドメインをhostsファイルに追加しました。しかし、何も変わりませんでした。/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
ip::8081 domain1.com
@galkinが述べたように、リクエストをポート8081に渡す必要がありhttpd.conf
ます。これをファイルに追加します。
<VirtualHost *:80>
ServerAlias domain1.com
ProxyPass / http://ip-addresss:8081/
</VirtualHost>
503エラーの場合は、これを実行してapacheを再起動してみてください。
# /usr/sbin/setsebool httpd_can_network_connect 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加