Jak zmusić serwer Jetty do nasłuchiwania na porcie 80?

13

Chciałbym użyć Jetty jako serwera WWW.

Zedytowałem plik konfiguracyjny /etc/default/jettyi ustawiłem:

# change to 0 to allow Jetty start
NO_START=0

# Listen to connections from this network host
# Use 0.0.0.0 as host to accept all connections.
JETTY_HOST=0.0.0.0

Teraz mogę uzyskać dostęp do serwera Jetty pod adresem, http://192.168.1.10:8080ale chciałbym, aby Jetty nasłuchiwał na porcie 80.

Próbowałem tego ustawienia w tym samym pliku konfiguracyjnym:

# The network port used by Jetty
JETTY_PORT=80

a następnie ponownie uruchom Jetty za pomocą, sudo service jetty restartale to nie działa.

Jak mogę zmienić, aby serwer Jetty nasłuchiwał na porcie 80?

Jonas
źródło
możesz to zmienić także od start.ini (root mola), tam masz -> jetty.port - linia, odkomentuj i nadaj mu wartość (domyślnie 8080)
Rodislav Moldovan

Odpowiedzi:

7

Będziesz musiał edytować /etc/jetty/jetty.xmlplik. Poszukaj akapitu, który mówi:

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8090"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

Zmień jetty.portwłaściwość na 80:

<Set name="port"><SystemProperty name="jetty.port" default="80"/></Set>

Uruchom ponownie molo. Że należy to zrobić.


Ponieważ powyższa metoda nie działała w przypadku OP i odradza się uruchamianie jako root, istnieje alternatywna metoda, jak wspomniano w tym dokumencie .

theTuxRacer
źródło
To nie działa Sprawdziłem również, sudo netstat -nlpale Jetty nie ma na liście.
Jonas
Może tak być, ponieważ molo nie działa jako root. Próbuję ustawienia i wkrótce opublikuję.
theTuxRacer
Byłem w stanie uzyskać domyślną stronę, uruchamiając sudo java -jar start.jarz /usr/share/jetty. Skonfigurowałem również, /etc/jetty/jetty-setuid.xmlaby zaczynał jako użytkownik uprzywilejowany.
theTuxRacer
Dodatkowo spójrz na: uruchamianie pomostu jako użytkownik inny niż root .
theTuxRacer
1
Biegnę sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080i teraz działa dobrze. Dzięki!
Jonas
1

Korzystam z Jetty 9. W pliku start.ini można znaleźć i zmodyfikować właściwość jetty.port. Następnie musisz ponownie uruchomić jetty.service.

Sul
źródło
Może być przydatny, jeśli rozszerzysz swoją odpowiedź, określając lokalizację pliku start.ini, wiersz w pliku start.ini, który należy zmodyfikować, i zmodyfikowany tekst, który należy użyć.
CentaurusA