Saya memiliki VM yang menjalankan layanan yang meng-host halaman web di port 80. Layanan ini memanfaatkan layanan httpd untuk meng-host halaman web-nya. Siapa pun yang mengatur xinetd yang dikonfigurasi VM ini pada mesin host untuk meneruskan port 80 pada VM ke port 3000 pada mesin host:

# 3000/tcp
service VMservicewebgui
{
        disable         = no
        wait            = no
        socket_type     = stream
        user            = root
        port            = 3000
        redirect        = VM_IP http
}

Kami saat ini sedang mencoba mengatur sistem kami agar layanan yang berjalan di VM sekarang akan berjalan dalam wadah buruh pelabuhan. Untuk menguji ini, saya menghentikan layanan pada VM dan layanan httpd pada VM dan memulai sebuah wadah di sana, memetakan port 80 di kontainer saya ke port 80 pada VM. Sayangnya, jika saya mencoba untuk terhubung ke wadah dari port 3000 pada mesin host saya mendapatkan pesan kesalahan yang mengatakan bahwa saya tidak memiliki izin untuk mengakses url ini.

Saya telah mengkonfirmasi bahwa file konfigurasi httpd untuk VM dan wadahnya sama. Saya juga telah mengkonfirmasi bahwa port 80 dalam wadah dapat diakses secara eksternal dengan menjalankan SimpleHTTPServer melalui python pada port 80.

Tolong bantu saya memahami mengapa saya tidak memiliki izin untuk melihat halaman web kontainer menggunakan pengaturan saya saat ini. Untuk referensi, berikut adalah konfigurasi httpd yang khusus untuk layanan yang saya jalankan dan url yang saya coba akses:

Alias /service "/var/www/service-web"
<Directory "/var/www/service-web">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>

OS saya adalah Centos 6.9

Beri tahu saya jika informasi tambahan akan membantu.

nb12345
sumber