このサイトと同様のサイトでいくつかの部分的な回答を見つけましたが、それらをまとめる方法がわかりませんでした。または、おそらく答えがそこにあり、それを認識できません:-/
私が達成しようとしていること:
次のように、LANでhttpサービスを実行しています(dnsmasqを適切にセットアップしました):
http://subdomain1.domain.com:1234/
そして、それをインターネットとして公開したいと思います(外部DNSも正常に機能しています):
https://subdomain2.domain.com:443/
ユーザー認証はnginxによって処理されます。
また、URL を変更せずにブラウザに表示したままにしておく必要があります。
同様の質問から見つけたものをいくつか組み合わせてみましたが、何かがうまくいかないようです。
これは私の最後の試みです:
ssl_certificate /var/www/domain.com/domain_com.crt;
ssl_certificate_key /var/www/domain.com/domain_com.key;
server {
listen 443 default_server;
server_name subdomain1.domain.com;
location / {
auth_basic "Restricted";
auth_basic_user_file /var/www/domain.com/domain.com.passwords;
proxy_pass http://subdomain1.domain.com:1234/;
proxy_set_header Host $http_host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect https://subdomain2.domain.com/ http://subdomain1.domain.me:1234/;
}
}
「エラー 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL プロトコル エラー」というメッセージが表示されます。
アップデート:
解決策を見つけたと思いますが、レビューをいただければ幸いです。これも、http アクセスを https 経由に書き換えます。
ssl_certificate /var/www/domain.com/domain_com.crt;
ssl_certificate_key /var/www/domain.com/domain_com.key;
server {
listen 80;
server_name subdomain1.domain.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443;
ssl on;
server_name subdomain1.domain.com;
location / {
auth_basic "Restricted";
auth_basic_user_file /var/www/domain.com/domain.com.passwords;
proxy_pass http://subdomain2.domain.com:1234/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
proxy_redirect off;
}
}