ฉันมีบริการหลายอย่างที่ทำงานบนเซิร์ฟเวอร์ของฉัน ซึ่งจะเข้าถึงได้ผ่าน nginx และเข้ารหัสโดย certbot
หากฉันต้องการเข้าใช้บริการกับ my http://example.com
, ฉันถูกเปลี่ยนเส้นทางไปยัง http(s)://example.com
ซึ่งดีมาก
แต่ถ้าฉันพิมพ์ของฉัน ที่อยู่ IP:พอร์ต
ฉันจะไม่ถูกเปลี่ยนเส้นทางไปยังโดเมนของฉัน
นี่คือไฟล์ abc.com ของฉันใน /etc/nginx/sites-enabled
เซิร์ฟเวอร์ {
server_name abc.com; #ตัวอย่าง: mysite.xyz
#access_log /var/log/nginx/<servicename>.access.log;
#error_log /var/log/nginx/<ชื่อบริการ>.error.log;
ที่ตั้ง / {
proxy_pass http://127.0.0.1:9000; # ที่นี่คุณกำหนดที่อยู่ซึ่ง nginx ใช้เพื่อเข้าถึงบริการของคุณ
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ "อัพเกรด";
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
} # นี่คือพอร์ตที่คุณใช้เพื่อเข้าถึงบริการพร็อกซี
ฟัง 443 ssl; # จัดการโดย Certbot
ssl_certificate /etc/letsencrypt/live/abc.com/fullchain.pem; # จัดการโดย Certbot
ssl_certificate_key /etc/letsencrypt/live/abc.com/privkey.pem; # จัดการโดย Certbot
รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot
}
เซิร์ฟเวอร์ {
ถ้า ($host = abc.com) {
ส่งคืน 301 https://$host$request_uri;
} # จัดการโดย Certbot
server_name abc.com;
ฟัง 80;
กลับ 404; # จัดการโดย Certbot
}
ใครช่วยบอกฉันหรือชี้ทิศทางที่ฉันจำเป็นต้องเปลี่ยนในไฟล์ abc.com ของฉันเพื่อเปลี่ยนเส้นทางด้วย ที่อยู่ IP:พอร์ต
ถึง https://example.com
ฉันขอบคุณสำหรับความช่วยเหลือ!
แก้ไข:
ฉันทำให้บริการของฉันสามารถเข้าถึงได้ผ่าน localhost ซึ่งช่วยแก้ปัญหาของฉันได้ ขอขอบคุณทุกท่านที่มีส่วนร่วม!