Як змусити веб-сервер Jetty слухати через порт 80?


13

Я хотів би використовувати Jetty як веб-сервер.

Я відредагував конфігураційний файл /etc/default/jettyі встановив:

# 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

Тепер я можу зайти до веб-сервера Jetty, http://192.168.1.10:8080але я хотів би, щоб Jetty слухав на порту 80.

Я спробував цей параметр у тому ж файлі конфігурації:

# The network port used by Jetty
JETTY_PORT=80

а потім перезавантажте Jetty, sudo service jetty restartале це не працює.

Як я можу змінити так, щоб веб-сервер Jetty прослуховував порт 80?


ви можете змінити його також з start.ini (jetty root), там у вас є -> jetty.port - рядок, коментуйте і надайте йому значення (за замовчуванням 8080)
Rodislav Moldovan

Відповіді:


7

Вам потрібно буде відредагувати /etc/jetty/jetty.xmlфайл. Шукайте абзац, який говорить:

<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>

Змініть jetty.portвластивість 80так:

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

Перезавантажте пристань. Це повинно це робити.


Оскільки вищеописаний метод не працював для ОП, а запущений як root стримується, існує альтернативний метод, про який йдеться в цьому документі .


Це не працює. Я також перевірив, sudo netstat -nlpале Jetty не вказаний.
Йонас

Це може бути тому, що jetty не працює як root. Я пробую налаштування, і через деякий час опублікую.
theTuxRacer

Мені вдалося отримати сторінку за замовчуванням, запустивши sudo java -jar start.jarз /usr/share/jetty. Я також налаштував /etc/jetty/jetty-setuid.xmlзапуск як привілейований користувач.
theTuxRacer


1
Я бігаю sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080і зараз це прекрасно працює. Спасибі!
Йонас


1

Я використовую Jetty 9. У файлі start.ini ви можете знайти та змінити властивість jetty.port. Тоді вам доведеться перезапустити jetty.service.


Це може бути корисно, якщо ви розгорнете свою відповідь, вказавши розташування файлу start.ini, рядок у start.ini, який має бути змінено, та модифікований текст, який потрібно використовувати.
CentaurusA
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.