私は頻繁に使用するさまざまな内部アプリケーションをスケジュールするためにローカルコンピュータでnginxを実行しています。 nginxを使用すると、自分のアプリケーションに簡単なローカルエイリアスを簡単に提供できます。
問題は、このアプリケーションが非常に機密性の高い情報を提供することです。いいえnginxが私のパブリックインターフェイスの1つを受け取るようにしてください。
私の構成ブロックは/etc/nixos/configuration.nix
次のとおりです。
networking.firewall = {
enable = true;
# allowedTCPPorts = [ 8081 ];
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts."localhost" = {
locations."/wiki".proxyPass = "http://localhost:8000";
locations."/weblog".proxyPass = "http://localhost:3001";
};
};
その場合、問題はポート80をどのようにファイアウォールに設定できるかということです。
ベストアンサー1
現在、ngixリスニングポートを設定するNixOS設定オプションはありません。ただし、ngix構成の一部をそのまま追加できます。構成.nixこのappendHttpConfig
オプションを使用してください。このような:
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts."localhost" = {
locations."/wiki".proxyPass = "http://localhost:8000";
locations."/weblog".proxyPass = "http://localhost:3001";
};
appendHttpConfig = "listen 127.0.0.1:80";
};