Bagaimana cara membuat server web Jetty mendengarkan pada port 80?


13

Saya ingin menggunakan Jetty sebagai server web.

Saya telah mengedit file konfigurasi di /etc/default/jettydan mengatur:

# 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

Sekarang saya dapat mencapai server web Jetty di http://192.168.1.10:8080tetapi saya ingin memiliki Jetty mendengarkan pada port 80.

Saya telah mencoba pengaturan ini dalam file konfigurasi yang sama:

# The network port used by Jetty
JETTY_PORT=80

dan kemudian mulai kembali Jetty dengan sudo service jetty restarttetapi tidak berhasil.

Bagaimana saya bisa berubah sehingga server web Jetty mendengarkan pada port 80?


Anda dapat mengubahnya juga dari start.ini (jetty root), di sana Anda memiliki -> jetty.port - line, batalkan komentar dan beri nilai (defaultnya adalah 8080)
Rodislav Moldovan

Jawaban:


7

Anda perlu mengedit /etc/jetty/jetty.xmlfile. Cari paragraf yang mengatakan:

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

Ubah jetty.portProperti menjadi 80sebagai berikut:

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

Mulai ulang dermaga. Itu harus dilakukan.


Karena metode di atas tidak bekerja untuk OP, dan berjalan sebagai root tidak disarankan, ada metode alternatif, seperti yang disebutkan dalam dokumen ini .


Ini tidak berhasil. Saya juga memeriksa sudo netstat -nlptetapi Jetty tidak terdaftar.
Jonas

Mungkin karena dermaga tidak berjalan sebagai root. Saya mencoba pengaturan, dan akan memposting dalam beberapa saat.
theTuxRacer

Saya bisa mendapatkan halaman default dengan berlari sudo java -jar start.jardari /usr/share/jetty. Saya juga mengkonfigurasi /etc/jetty/jetty-setuid.xmluntuk memulai sebagai pengguna istimewa.
theTuxRacer


1
Saya menjalankan sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080dan sekarang berfungsi dengan baik. Terima kasih!
Jonas


1

Saya menggunakan Jetty 9. Dalam file start.ini Anda dapat menemukan dan memodifikasi properti jetty.port. Maka Anda harus me-restart jetty.service.


Mungkin bermanfaat jika Anda memperluas jawaban dengan menentukan lokasi file start.ini, baris di start.ini yang harus dimodifikasi, dan teks yang dimodifikasi yang harus digunakan.
CentaurusA
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.