Nginx: phpMyAdmin reverse proxy

Byphunsanit

Nginx: phpMyAdmin reverse proxy

จาก Ubuntu: ติดตั้ง phpMyAdmin แบบปลอดภัย จะเพิ่มความปลอดภัยอีกชั้นโดยการเอา Nginx มาครอบ phpMyadmin ไว้อีกชั้น เพื่อที่จะจัดการบางอย่างได้และจะเปิด port ที่เข้าจากข้างนอกได้แค่ port 80 เท่านั้น โดยตั้งให้เอ็นจินเอ็กซ์เป็น reverse proxy ของ Apache อีกชั้น

  1. ติดตั้ง Nginx ถ้ายังไม่ติดตั้งโดยคำสั่ง
    sudo apt-get install nginx
  2. สร้างไฟล์ config nginx เช่น
    /etc/nginx/sites-available/plusmagi.com.phpmyadmin.conf
server {
	access_log /var/log/nginx/plusmagi.com.phpmyadmin-access.log;
	add_header X-Content-Type-Options "nosniff";
	add_header X-Frame-Options "SAMEORIGIN";
	add_header X-XSS-Protection "1; mode=block";
	error_log /var/log/nginx/plusmagi.com.phpmyadmin-error.log error;
	http2 on;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    listen 443 ssl;
    server_name v771s.plusmagi.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name v771s.plusmagi.com;

    location / {
        return 301 https://$host$request_uri;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/html;
        try_files $uri $uri/ =404;
    }
}

ที่ต้องแก้ คือ

  1. domainใน บรรทัดที่ 2, 6
  2. subdomainใน บรรทัดที่ 10, 23
  3. port ในบรรทัดที่ 13

โดยทำให้ตรงกับที่ตั้งไว้ใน Apache config ในขั้นตอนที่แล้ว

อ่านเพิ่มเติม

About the author

phunsanit administrator