απαιτήσεις: Το ASP.NET Core υποστηρίζει ήδη την ακρόαση UDS (Unix domain socket), εάν οι ιστότοποι Nginx και ASP.NET Core βρίσκονται στον ίδιο διακομιστή, μπορούν πραγματικά να επικοινωνούν απευθείας μέσω UDS και οι υποδοχές τομέα Unix έχουν συνήθως λιγότερη επιβάρυνση και μεγαλύτερη ταχύτητα μετάδοσης από τη χρήση TCP/IP.
Αναθεώρηση:
Αρχικά, για να δημιουργήσω μια νέα εφαρμογή web .NET 8, ενθυλάκωσα μια μέθοδο επέκτασης ListenerUnix με τον ακόλουθο κώδικα:
Στην Program.cs, καλέστε ως εξής:
Ο κώδικας υποστηρίζει κυρίως παραμέτρους url για την ενεργοποίηση της ακρόασης http και της ακρόασης υποδοχής τομέα Unix και μετά την επιτυχή εκκίνηση της εφαρμογής,Ορίστε το δικαίωμα αρχείου υποδοχής τομέα Unix σε 777Διαφορετικά, όταν το nginx αντιστρέφει τον διακομιστή μεσολάβησης σε UDS, διαφορετικά μπορεί να αναφέρει ζητήματα αδειών, ως εξής:
2025/09/17 11:01:26 [crit] 2887135#0: *112497 connect() στο unix:/var/run/itsvse.socket απέτυχε (13: Δεν επιτρέπεται η άδεια) κατά τη σύνδεση σε upstream, client: x.x.x.x, server: itsvse.com, αίτημα: "GET / HTTP/2.0", upstream: "http://unix:/var/run/itsvse.socket:/", host: "itsvse.com" Εάν πρέπει να ορίσετε χειροκίνητα τα δικαιώματα 777, η εντολή είναι η εξής:
Εάν ο διακομιστής Linux δεν μπορεί να σταλεί στον διακομιστή Linux, η εκκίνηση είναι επιτυχής όπως φαίνεται στην παρακάτω εικόνα:
Χρησιμοποιώντας τη δοκιμή μπούκλας, η εντολή είναι η εξής:
Οπως φαίνεται παρακάτω:
Η διαμόρφωση του Nginx έχει ως εξής:
Η αντίστροφη διαδρομή διακομιστή μεσολάβησης ρυθμίζεται με δύο,Ένα με :/, ένα χωρίς :/, μπορείτε να διακρίνετε το εφέ ζητώντας την έξοδο, όπως φαίνεται στο παρακάτω σχήμα:
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |