Làm cách nào để làm cho máy chủ web Jetty lắng nghe trên cổng 80?


13

Tôi muốn sử dụng Jetty như một máy chủ web.

Tôi đã chỉnh sửa tập tin cấu hình tại /etc/default/jettyvà thiết lập:

# 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

Bây giờ tôi có thể truy cập máy chủ web của Jetty tại http://192.168.1.10:8080nhưng tôi muốn nghe Jetty trên cổng 80.

Tôi đã thử cài đặt này trong cùng một tệp cấu hình:

# The network port used by Jetty
JETTY_PORT=80

và sau đó khởi động lại Jetty với sudo service jetty restartnhưng nó không hoạt động.

Làm cách nào tôi có thể thay đổi để máy chủ web Jetty đang nghe trên cổng 80?


bạn cũng có thể thay đổi nó từ start.ini (root jetty), ở đó bạn có -> jetty.port - line, uncomment và cung cấp cho nó một giá trị (mặc định là 8080)
Rodislav Moldovan 19/12/13

Câu trả lời:


7

Bạn sẽ cần phải chỉnh sửa các /etc/jetty/jetty.xmltập tin. Hãy tìm một đoạn có nội dung:

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

Thay đổi thuộc jetty.porttính thành 80như sau:

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

Khởi động lại cầu cảng. Nên làm vậy.


Vì phương pháp trên không hoạt động đối với OP và việc chạy như root không được khuyến khích, nên có một phương pháp khác, như đã đề cập trong tài liệu này .


Điều này không hoạt động. Tôi cũng đã kiểm tra sudo netstat -nlpnhưng Jetty không được liệt kê.
Jonas

Có thể là do cầu tàu không chạy bằng root. Tôi đang thử một thiết lập, và sẽ đăng trong một thời gian.
theTuxRacer

Tôi đã có thể lấy trang mặc định bằng cách chạy sudo java -jar start.jartừ /usr/share/jetty. Tôi cũng cấu hình /etc/jetty/jetty-setuid.xmlđể bắt đầu như người dùng đặc quyền.
theTuxRacer


1
Tôi chạy sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080và bây giờ nó hoạt động tốt. Cảm ơn!
Jonas


1

Tôi đang sử dụng Jetty 9. Trong tệp start.ini, bạn có thể tìm và sửa đổi thuộc tính jetty.port. Sau đó, bạn phải khởi động lại jetty.service.


Nó có thể hữu ích nếu bạn mở rộng câu trả lời của mình bằng cách chỉ định vị trí của tệp start.ini, dòng trong start.ini phải được sửa đổi và văn bản đã sửa đổi phải được sử dụng.
CentaurusA
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.