GNU/Linux >> Belajar Linux >  >> Linux

Panduan untuk menjalankan proxy Terbalik untuk HTTP(S), SSH, dan MySQL/MariaDB menggunakan NGINX

Panduan ini akan memandu Anda melalui instalasi dan konfigurasi NGINX untuk memungkinkan menjalankan beberapa server fisik, mesin virtual, atau kombinasi keduanya di belakang satu Alamat IP yang menghadap publik. Anda dapat memilih untuk menjalankan sejumlah server web pada mesin virtual dan mengelolanya secara lokal atau Anda mungkin diminta untuk menggunakan alat akses jarak jauh seperti SSH ke setiap host. Misalnya, jika akses lokal tidak tersedia di luar jam kerja normal. Panduan ini dapat memfasilitasi kedua skenario.

Konfigurasi yang ditampilkan di sini paling sesuai untuk lab rumah atau jaringan bisnis kecil yang memiliki batasan pada Alamat IP publik yang tersedia. Akan ada sedikit alasan jika ada, untuk menjalankan konfigurasi seperti ini, bila Anda memiliki beberapa server atau mesin virtual yang disewa dari layanan hosting, Anda akan tetap diberikan Alamat IP yang menghadap publik untuk setiap server atau host.

Saya akan menunjukkan cara menginstal NGINX dan membuat konfigurasi yang memungkinkan server bertindak sebagai Proksi terbalik untuk HTTP(S), SSH, FTP, dan MySQL/MariaDB. Saya berasumsi bahwa untuk server host NGINX Anda memiliki:akses lokal, instalasi baru Ubuntu 18.04 dan bahwa Anda memilih untuk menginstal server SSH selama langkah-langkah instalasi server Ubuntu.

Konfigurasi ini bekerja dengan baik untuk saya, tetapi harap dipahami bahwa saya tidak dapat menjamin bahwa ini akan berhasil untuk Anda. Tentu saja, jika Anda menemukan sesuatu yang salah, beri tahu saya agar dapat diperbaiki. Pastikan Anda membaca seluruh panduan sebelum memulai, ada satu bagian (aliran) di mana saya menunjukkan dua cara untuk mengelolanya.

Memulai

Dalam panduan ini, saya akan menggunakan nama host dan Alamat IP berikut.

rproxy.example.com  192.168.1.1
web1.example.com    192.168.1.2
db1.exmple.com      192.168.1.3

Anda harus memiliki akun pengguna non-root di server untuk instalasi server Ubuntu 18.04 standar yang Anda buat selama instalasi. Mulailah dengan masuk ke server tempat Anda akan menginstal NGINX dengan pengguna itu. Karena kemungkinan besar ini adalah server lokal, Anda mungkin perlu masuk ke server secara langsung saat pertama kali mengkonfigurasi server SSH. Anda tentu saja memerlukan keyboard dan monitor yang terpasang ke server untuk melakukan ini.

Catatan:Jika seperti saya Anda menggunakan perangkat lunak virtualisasi seperti VMWare yang menyertakan antarmuka browser, maka Anda harus memiliki konsol di dalam sistem itu dan dapat melakukan langkah ini tanpa akses "langsung". Anda dapat mencoba melakukan seluruh konfigurasi ini di dalam konsol itu, namun, saya telah menemukan bahwa beberapa fitur seperti salin dan tempel tidak berfungsi di konsol berbasis browser meskipun ini mungkin khusus untuk browser sehingga mungkin patut dicoba untuk melihat apakah Anda bisa.

Menyiapkan server host

Di shell konsol Anda (browser atau terhubung langsung)

sudo nano /etc/ssh/sshd_config

Hapus komentar pada baris:Port ubah nomor Port menjadi seperti 23456, ListenAddress dan ubah menjadi 0.0.0.0. Bagi yang mungkin asing dengan nano, Tekan CTRL + X, ketik y, lalu tekan enter. Ini akan menyimpan dan menutup file, jika tidak ada perubahan yang dilakukan pada file, CTRL + x akan menutup file tanpa diminta untuk menyimpan. Anda akan dikembalikan ke prompt perintah.

Saya tidak akan menggali sisa pengaturan dalam file ini karena ini sudah merupakan panduan yang cukup panjang dan ada banyak panduan yang akan menunjukkan kepada Anda pengaturan mana yang harus Anda ubah untuk beberapa hal, seperti menggunakan kunci SSH dan mengizinkan root SSH Gabung. Anda juga dapat menemukan panduan tersebut di sini di situs web HowtoForge.

Setelah perubahan selesai, Anda perlu me-restart server ssh agar perubahan dapat diterapkan. Login Anda saat ini tidak terpengaruh oleh restart ini.

systemctl restart ssh

Verifikasi bahwa Anda dapat masuk menggunakan SSH dari terminal di komputer lain dalam jaringan lokal Anda.

ssh [email protected] -p23456

Biarkan terminal ini tetap terbuka setelah berhasil masuk menggunakan SSH dan keluar dari konsol/server. Anda tidak perlu lagi menggunakannya untuk sisa panduan ini.

Mulai saat ini, Anda akan menjalankan perintah tingkat akar dari terminal Anda. Perintah berikutnya akan menghilangkan kebutuhan untuk menambahkan perintah berikutnya dengan sudo.

sudo -s

Perbarui database paket Apt dan perbarui Ubuntu untuk memastikan bahwa Anda telah menginstal paket terbaru.

apt update && apt -y upgrade

Jika Anda melihat sesuatu selama pemutakhiran yang melaporkan kernel baru sedang diinstal, maka Anda harus mem-boot ulang setelah apt selesai memutakhirkan untuk memastikan bahwa Anda bekerja pada sistem yang diperbarui sepenuhnya.

Menyetel nama host server proxy terbalik.

hostnamectl set-hostname rproxy.example.com

Jika Anda menjalankan server virtual, Anda mungkin memiliki file bernama cloud.cfg yang perlu dimodifikasi untuk mempertahankan nama host yang ditetapkan di sini. Perintah berikut akan menampilkan file dengan konten atau halaman kosong. Jika Anda melihat halaman kosong, cukup CTRL + x dan lewati langkah ini karena tidak ada yang bisa Anda lakukan.

nano /etc/cloud/cloud.cfg

Ubah baris simpan hostname menjadi true dan tutup/simpan file.

If your system is currently local only you will need to show this server where your other servers/virtual hosts are.
nano /etc/hosts

File host akan terlihat seperti ini setelah Anda melakukan perubahan, Alamat IP dan Host harus sesuai dengan infrastruktur Anda sendiri.

127.0.0.1 localhost
127.0.1.1  rproxy.example.com
192.168.1.2    web1.example.com
192.168.1.3    db1.example.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Menginstal NGINX

apt install -y nginx

Setelah instalasi, Anda harus memeriksa versi NGINX Anda, sangat penting bahwa Anda memiliki versi 1.9 atau lebih tinggi untuk memungkinkan Anda Membalikkan proxy untuk SSH dan MySQL/MariaDB.

nginx -v

Seperti yang Anda lihat, saya telah menginstal NGINX versi 1.14 yang merupakan default di Ubuntu 18.04 (10 Okt 2019)

nginx version: nginx/1.14.0 (Ubuntu)

Menyiapkan NGINX agar berfungsi sebagai Proxy Terbalik

Dengan konfigurasi ini, Anda tidak akan melayani situs web apa pun secara langsung dari server host proxy Reverse. Anda akan membuat struktur direktori baru di bawah /etc/nginx/. Ini akan mempertahankan konfigurasi NGINX default jika Anda ingin mengembalikan perubahan ini nanti atau memutuskan bahwa Anda sebenarnya juga ingin melayani situs web langsung dari host ini. Dimungkinkan untuk menjalankan konfigurasi default bersama dengan konfigurasi proxy Terbalik ini namun jika Apache2 akan berada di server yang sama, itu akan memerlukan port alternatif untuk mendengarkan dan Anda masih perlu Membalikkan proxy situs web yang dilayani oleh instance Apache2 ini.

Membangun struktur direktori proxy Terbalik

cd /etc/nginx && mkdir rproxy && cd rproxy && mkdir http http/available http/enabled stream stream/available stream/enabled

Sekarang setelah Anda memiliki struktur, Anda dapat melanjutkan dengan membuat file konfigurasi. Saya menggunakan nano tetapi Anda dapat menggunakan editor yang Anda rasa nyaman. Nano akan membuat/memperbarui file yang disimpan.

Before you proceed, open an empty document on your computer or get a pen and paper to note down the ports you configure.

Mengonfigurasi proxy terbalik server web (http)

Buat file konfigurasi http untuk situs web dengan menyesuaikannya

nano http/available/example.com.conf

Salin blok server ke halaman yang dibuka di terminal dengan penyesuaian nano yang sesuai.

# Note down ports 80 and 443

server {
    server_name example.com www.example.com;
    listen 80;
    set $upstream 192.168.1.2;
    location / {
         proxy_pass_header Authorization;
         proxy_pass http://$upstream;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_http_version 1.1;
         proxy_set_header Connection "";
         proxy_buffering off;
         client_max_body_size 0;
         proxy_read_timeout 10000s;
         proxy_redirect off;
     }
}

Mengonfigurasi SSH, proxy terbalik MySQL/MariaDB (aliran)

Sebelum Anda melanjutkan, putuskan mana yang ingin Anda gunakan, per host atau per layanan. Per host, Anda akan membuat konfigurasi untuk setiap host yang mungkin berguna untuk mengubah pengaturan satu host dengan cepat. Per layanan, Anda akan memiliki port layanan untuk semua server dalam file untuk masing-masing, SSH, MySQL/MariaDB, dan FTP.

Menggunakan konfigurasi per layanan

Tambahkan konfigurasi SSH.

nano stream/available/ssh.conf
# Note down the listen ports

upstream web1-ssh {
  server 192.168.1.2:22;
}

server {
  listen 22002;
  proxy_pass web1-ssh;
}

upstream db1-ssh {
  server 192.168.1.3:22;
}

server {
  listen 22003;
  proxy_pass db1-ssh;
}

# Add as many upstream and server block pairs as you will need for your remote accessed SSH servers.

Tambahkan konfigurasi MySQL/MariaDB.

nano stream/available/db.conf
# Note down the listen ports

upsteam db1-mysql {
  server 192.168.1.3:3306;
}

server {
  listen 33063;
  proxy_pass db1-mysql;
}

# Add as many upstream/server block pairs as you will need for your remote accessed MySQL/MariaDB servers to this file.

Sekarang buat konfigurasi proxy FTP Reverse.

nano stream/available/ftp.conf
upstream web1-ftp {
  server 192.168.1.3:21
}

server {
  listen 21002;
  proxy_pass web1-ftp;
}

# Add as many upstream/server block pairs as you will need for your remote accessed FTP servers.

Menggunakan file konfigurasi Per host

nano /etc/nginx/rproxy/stream/available/web1.example.com.conf
# Note down the listen ports

upstream web1-ssh {
  server 192.168.1.3:22;
}

server {
  listen 22002;
  proxy_pass web-ssh;
}

Membuat file host untuk db1.example.com

nano /etc/nginx/rproxy/stream/available/db1.example.com.conf
# Note down the listen ports

upsteam db1-mysql {
  server 192.168.1.3:3306;
}

server {
  listen 33063;
  proxy_pass db1-mysql;
}

upstream db1-ssh {
  server 192.168.1.3:22;
}

server {
  listen 22003;
  proxy_pass db1-ssh;
}

Seperti yang Anda lihat, ini sedikit tidak ortodoks. Anda menggunakan port publik dengan cara yang tidak standar, memilih port yang Anda butuhkan dan kemudian mengarahkannya ke NGINX. Ini akan normal kecuali bahwa Anda sekarang menggunakan port yang berbeda untuk setiap layanan di setiap server yang ingin Anda akses dari jarak jauh. Ini berarti, menggunakan SSH sebagai contoh, nomor port yang berbeda untuk setiap host yang mendukung SSH 22 222 2222 22222, misalnya, akan menunjuk ke port 22 pada empat server atau mesin virtual yang berbeda.

Ini tidak berlaku untuk NGINX to Reverse proxy untuk situs web, selama NGINX memiliki konfigurasi server yang ditentukan untuk situs web, itu akan berfungsi dengan benar hanya dengan port 80 dan 443 yang diteruskan ke sana.

Pada titik ini Anda mungkin menyadari bahwa Anda cukup menggunakan langkah-langkah HTTP dan melewatkan langkah-langkah streaming, dan alih-alih meneruskan beberapa port untuk beberapa layanan ke server/Alamat IP yang sesuai. Memang, ini bisa dilakukan. Namun, itu akan menambah lapisan kerumitan dan menjadi sulit untuk dipertahankan karena jumlah server meningkat karena Anda mungkin perlu mengubah port default pada setiap server untuk ssh, mysql, dan ftp. Konfigurasi ini sudah rumit, masih bisa dilakukan jika Anda mau.

Menggunakan proxy terbalik untuk layanan ini dengan cara yang telah saya tunjukkan kepada Anda mengurangi kerumitan secara signifikan dengan menyediakan satu tempat untuk membuat perubahan konfigurasi ini dan Anda tidak perlu membuat perubahan pada port di seluruh infrastruktur Anda.

Sebagai bonus tambahan untuk konfigurasi ini, server lain di infrastruktur Anda hanya perlu mendengarkan antarmuka lokal dan port default jika itu yang Anda inginkan. Jika Anda mengelola secara lokal, Anda dapat menggunakan Alamat IP lokal dan port layanan default untuk mengakses layanan yang diperlukan sehingga Anda tidak perlu merujuk catatan Anda untuk mengingat port yang benar, Anda hanya perlu mengetahui Alamat IP dan kredensial login.

Menyatukan semuanya

Untuk mulai menggunakan konfigurasi proxy NGINX Reverse, Anda perlu melakukan beberapa pengeditan pada file konfigurasi utama. Beri komentar pada baris penyertaan saat ini di blok http (jika Anda juga tidak melayani situs web langsung dari NGINX).

cd /etc/nginx && nano nginx.conf

Perhatikan bagian yang disorot di bawah ini untuk menentukan apa yang perlu diubah.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;

        gzip on;

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascri$

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
#       include /etc/nginx/sites-enabled/*;

        # Reverse proxy http configuration files.
        include /etc/nginx/rproxy/http/enabled/*.conf;
}

stream {

    # Reverse proxy stream configuration files.
    include /etc/nginx/rproxy/streams/enabled/*.conf;
}


#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
# 
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}
    

Aktifkan konfigurasi proxy terbalik.

Pertama, aktifkan semua konfigurasi http

ln -s /etc/nginx/rproxy/http/available/*.conf /etc/nginx/rproxy/http/enabled

Aktifkan semua konfigurasi streaming

ln -s /etc/nginx/rproxy/stream/available/*.conf /etc/nginx/rproxy/stream/enabled

Lakukan pengujian untuk memeriksa apakah konfigurasi NGINX sebagai Reverse proxy sudah benar.

nginx -T

Pada output, Anda akan melihat pesan sukses beserta semua konfigurasi khusus yang telah Anda buat sebelumnya.

Mulai ulang NGINX untuk menjalankan konfigurasi proxy Terbalik.

systemctl restart nginx

Periksa untuk memastikan bahwa NGINX mendengarkan semua port yang dikonfigurasi. verifikasi terhadap catatan Anda bahwa semua port ditampilkan dalam hasil.

netstat -tulpn | grep nginx

Outputnya akan terlihat seperti ini

tcp        0      0 0.0.0.0:22           0.0.0.0:*               LISTEN      4964/nginx: master  
tcp        0      0 0.0.0.0:22002           0.0.0.0:*               LISTEN      4964/nginx: master  
tcp        0      0 0.0.0.0:22003           0.0.0.0:*               LISTEN      4964/nginx: master
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4964/nginx: master  
tcp        0      0 0.0.0.0:33062           0.0.0.0:*               LISTEN      4964/nginx: master  
tcp        0      0 0.0.0.0:33063           0.0.0.0:*               LISTEN      4964/nginx: master  
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      4964/nginx: master  
    

Membuka server untuk lalu lintas

Sekarang NGINX mendengarkan dan siap bertindak sebagai Proksi terbalik untuk semua koneksi yang ingin kami izinkan lalu lintasnya, nonaktifkan UFW untuk sementara sambil menjalani langkah selanjutnya. Pemecahan masalah akan lebih mudah jika ada yang tidak berfungsi dengan benar.

ufw disable

Port Penerusan

Sayangnya, saya tidak dapat memberi Anda panduan di sini. Anda perlu melihat ke manual router Anda atau mencari router Anda secara online untuk mempelajari cara melakukannya. Singkatnya, bagaimanapun, Anda ingin meneruskan setiap port yang didengarkan NGINX ke mesin host NGINX. Di router khusus saya, saya dapat mengatur "aplikasi" khusus.

Ini memungkinkan saya untuk menetapkan sejumlah port yang belum ditetapkan atau rentang port ke aplikasi khusus yang kemudian akan ditetapkan ke Alamat IP LAN atau ke perangkat terhubung tertentu yang diidentifikasi oleh nama hostnya. Bagaimanapun, ini berarti saya dapat mengalihkan semua port yang ditetapkan ke aplikasi khusus itu ke host mana pun di jaringan saya tanpa harus menghapus semua port dan menetapkannya kembali. Ini adalah opsi yang sangat baik untuk dimiliki dan saya sangat menyarankan Anda memilih router yang mendukungnya.

Fitur kecil namun sangat berguna di firewall router saya ini mendorong saya untuk menginstal proxy Reverse kedua yang mencerminkan konfigurasi proxy Reverse aktif saya. Saya mematikannya dan saya dapat mem-boot dan mengubah port ke dalamnya dalam waktu kurang dari 3 menit setelah ditemukan. Saya membayangkan bahwa ada perusahaan hosting profesional yang akan berjuang untuk memenuhi waktu penyelesaian untuk pemulihan bencana dan semua ini terjadi karena keinginan untuk menjalankan banyak server di jaringan rumah.

SSL Letsencrypt Gratis untuk Server proxy Terbalik

Instal plugin Certbot dan Certbot NGINX. Langkah ini dilakukan di sini karena Anda tidak dapat membuat sertifikat sampai Anda memiliki DNS fungsional untuk semua nama domain (sub.) yang tercantum dalam sertifikat dan dapat membuat sambungan ke domain melalui HTTP. Dengan menyelesaikan ini setelah Anda meneruskan port ke proxy terbalik, ini juga berfungsi sebagai tes tambahan untuk konfigurasi Anda. Jika sertifikat gagal karena domain tidak dapat dijangkau, Anda akan melihat pemberitahuan kesalahan yang berarti di output.

Untuk memastikan bahwa Anda mendapatkan versi certbot terbaru, tambahkan repositori certbot sebelum menginstal. Repositori Ubuntu sering kali merupakan versi atau lebih di belakang versi perangkat lunak dan Anda benar-benar menginginkan versi stavle terbaru dari semua perangkat lunak Anda jika Anda bisa mendapatkannya.

add-apt-repository ppa:certbot/certbot
apt install -y certbot python-certbot-plugin

Dengan certbot dan plugin certbot nginx terinstal, Anda sekarang dapat membuat sertifikat untuk NGINX.

Perintah ini harus diulang untuk semua domain dan subdomain yang ingin Anda berikan SSL. Jika ini adalah pertama kalinya menjalankan certbot, Anda harus menerima syarat dan ketentuan.

certbot --nginx -d example.com -d www.example.com

Perhatikan bahwa jika Anda memiliki pengaturan server yang berfungsi dengan SSL di host hulu, Anda perlu memastikan bahwa opsi yang dipilih di sini cocok dengan yang ada di server host, khususnya, jika Anda mengarahkan ulang ke https di server hulu, Anda harus melakukannya di sini juga .

Untuk kejelasan, example.com ada di server lain, dan saya memilih untuk mengarahkan ulang http ke https dalam ISPConfig, jadi karena alasan itu, saya memilih untuk melakukannya di sini. File konfigurasi akan diperbarui dan sekarang saya melihat bahwa Certbot telah menambahkan beberapa konfigurasinya sendiri.

Memeriksa apakah semuanya berfungsi.

Sekarang setelah Anda memiliki lalu lintas yang dapat mengalir ke proxy Reverse Anda, Anda harus memverifikasi bahwa semuanya berfungsi sebagaimana dimaksud. Periksa apakah situs web berfungsi dengan baik, lakukan koneksi dan tugas SSH, FTP, dan MySQL/MariaDB. Setelah Anda puas bahwa semuanya beroperasi sebagaimana mestinya, Anda akan mengaktifkan UFW dan menambahkan aturan untuk mengizinkan setiap port.

Mengamankan server Reverse Proxy

ufw enable

Anda akan ingin mengizinkan, 80 dan 443 dari mana saja. dan kemungkinan membatasi SSH, FTP, dan MySQL/MariaDB ke Alamat IP atau nama host. Anda dapat mengomentari aturan untuk dengan cepat mengidentifikasi layanan/server mana yang telah Anda tetapkan portnya.

ufw allow 80
ufw allow 443
ufw allow from 1.2.3.4 to any port 22002 comment 'web1 SSH'
ufw allow from somehost.domain.com to any port 33061 comment 'db1 MySQL/MariaDB'

ufw reload
ufw status numbered

Memperbarui Apache2

Saat berjalan di belakang proxy terbalik, file log Apache2 akan mencatat Alamat IP dari server proxy Terbalik, bukan Alamat IP pengunjung situs web. Untuk mengembalikan logging Alamat IP normal ke Apache2, sebuah modul tersedia untuk memperbaiki perilaku ini.

Selesaikan langkah-langkah berikut di setiap server web dengan instance Apache2 terinstal.

sudo apt install -y libapache2-mod-rpaf

Untuk memastikan bahwa Apache2 sekarang akan mencatat Alamat IP yang benar, buat sedikit modifikasi pada file rpaf.conf. Ubuntu 18.04 telah membuat file untuk kami, kami hanya perlu mengeditnya dengan mengubah Alamat IP yang disorot menjadi host proxy NGINX Reverse.

nano /etc/apache2/mods-available/rpaf.conf
<ifmodule rpaf_module="">
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 127.0.0.1 ::1

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
#   RPAFheader X-Real-IP
</ifmodule>

Catatan Akhir

NGINX dan Apache2 di host yang sama

Tidak ada dua layanan yang dapat mendengarkan pada port yang sama di dalam server atau mesin virtual. Jika NGINX diinstal pada server atau mesin virtual yang sama dengan server web Apache2, Anda perlu mengubah port tempat Apache2 mendengarkan. NGINX memerlukan port 80 dan 443 untuk menjalankan fungsi HTTP(S) karena keduanya adalah port default untuk HTTP dan HTTPS.

Lihat kembali bagian http dari panduan ini dan tambahkan konfigurasi proxy terbalik untuk situs web yang dilayani oleh instance Apache2 ini dengan cara yang sama seperti server lain dalam jaringan.

Mengubah port mendengarkan Apache2

Jika Anda memiliki sistem manajemen server yang diinstal seperti ISPConfig, sistem ini menangani file vhost Apache2 sehingga Anda harus meneliti cara mengubah port yang didengarkan oleh Apache2. Cari di forum ISPConfig dan kemudian buat penyesuaian itu seperlunya. Jika tidak, Anda harus melihat ke forum Ubuntu atau situs web Apache2 untuk mengetahui cara melakukan perubahan ini.

Note: Apache2 ports do not need to be altered when it is the only web server installed on server or virtual machine.

Linux
  1. Menyiapkan server Nginx Reverse Proxy di Debian Linux

  2. Cara Mengatur Nginx sebagai Proxy Terbalik di Ubuntu 20.04

  3. Mengatur Nginx sebagai Proxy Terbalik di Ubuntu 20.04 - Panduan langkah demi langkah?

  1. Reverse Proxy dengan Nginx:Panduan Pengaturan Langkah-demi-Langkah

  2. Konfigurasi Apache untuk WebSockets menggunakan Proxy Terbalik

  3. Cara mengkonfigurasi grup sumber daya untuk Server MySQL yang berjalan di Linux

  1. Cara Mengonfigurasi Nginx Reverse Proxy untuk Kibana

  2. Cara Mengonfigurasi Nginx sebagai Server Web dan Reverse Proxy untuk Apache di CentOS 8

  3. ScanSSH – Server SSH Cepat Dan Pemindai Proksi Terbuka