0
今このソリューションを探していて、かなり近いと思います... 別のポートでWebページを実行している5つのVMがあります。簡潔にするために、8080から8484と言うことができます。私はそれらのすべてが127.0.0.1とそれぞれのポートで聞くようにしたいと思います。また、nginxがユーザーをこれらの内部サイトにリダイレクトするランディングページにhttpsとパスワードで保護されたフロントとして機能するようにします。nginxで複数のポートにサービスを提供
server {
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/home.crt;
ssl_certificate_key /etc/nginx/ssl/home.key;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
root /usr/share/nginx/html;
index index.html index.htm;
client_max_body_size 101M;
auth_basic "Login required";
auth_basic_user_file /etc/nginx/htpasswd;
location /server1 {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
location /server2 {
proxy_pass http://127.0.0.1:8181;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
....
がだからこれは、ユーザーのために私を促し合格し、適切なページにリダイレクトされますが、そのポート上でホストされているが、私はのために/サーバー1で許可されていないホストを言ってエラーを取得します\ 127.0.0.1として無効なHTTP_HOSTヘッダーが無効です。
これも可能ですか?サーバーは、さまざまなフレームワーク、Django、Apache、Tomcatを実行しています。
なぜ、バックスラッシュをホストヘッダーのプレフィックスとして使用しますか? – Remco
Host = "Host" ":" host [":" port] – Remco
\プレフィックスは必要ですか? – JohnFowles