Score:0

วิธีทำให้ IP เป็นมาตรฐานด้วย Nginx และ Certbot

ธง cn

ฉันมีบริการหลายอย่างที่ทำงานบนเซิร์ฟเวอร์ของฉัน ซึ่งจะเข้าถึงได้ผ่าน 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 ซึ่งช่วยแก้ปัญหาของฉันได้ ขอขอบคุณทุกท่านที่มีส่วนร่วม!

Michael Hampton avatar
cz flag
อย่าพยายามทำเช่นนี้ คำขอที่อยู่ IP ของคุณในฐานะโฮสต์ HTTP ควรถูกเพิกเฉย ไม่เปลี่ยนเส้นทาง เกือบทั้งหมดเป็นอันตราย การกำหนดค่าเริ่มต้นให้บริการข้อผิดพลาด 403 สำหรับคำขอดังกล่าว และควรปล่อยไว้
sergeantSalty avatar
cn flag
การเพิกเฉยจะเป็นตัวเลือกที่ดีที่สุด อย่างไรก็ตามค่าเริ่มต้นของฉันไม่เพิกเฉยต่อคำขอดังกล่าว ถ้าฉันพิมพ์ที่อยู่ ip:port ฉันจะเข้าถึงบริการของฉันได้ ฉันสามารถทำอะไรได้บ้างเพื่อเพิกเฉยต่อคำขอดังกล่าว ขอขอบคุณสำหรับการสนับสนุนของคุณ!
Michael Hampton avatar
cz flag
ใส่กลับบล็อก `เซิร์ฟเวอร์` เริ่มต้นที่มาพร้อมกับแพ็คเกจการแจกจ่าย nginx
sergeantSalty avatar
cn flag
โอ้ ฉันคงเข้าใจคุณผิด ที่จริงฉันไม่ได้ลบบล็อกเซิร์ฟเวอร์เริ่มต้นที่มาพร้อมกับ nginx
Score:0
ธง sv

ยินดีต้อนรับสู่ ServerFault

ใครช่วยบอกฉันหรือชี้ให้ฉันเห็นถึงทิศทางที่ฉันต้องเปลี่ยนแปลง ในไฟล์ abc.com ของฉันเพื่อเปลี่ยนเส้นทางคำขอผ่าน ที่อยู่ IP:พอร์ตไปที่ https://example.com

คุณไม่จำเป็นต้องแก้ไขไฟล์ที่มีอยู่ซึ่ง Certbot อาจแก้ไขได้ในอนาคต

แทน ใน /etc/nginx/sites-enabledโปรดสร้างไฟล์อื่น (เช่น ใช้ชื่อ ip.conf) โดยมีเนื้อหาดังนี้...

เซิร์ฟเวอร์ {
    ฟัง 80;
    server_name 127.0.0.1;
    ส่งคืน 301 https://example.com$request_uri;
}

ในรหัสข้างต้น โปรดแทนที่ 127.0.0.1 ด้วยที่อยู่ IP จริงของเซิร์ฟเวอร์ของคุณแล้วแทนที่ ตัวอย่าง.คอม ด้วย.

sergeantSalty avatar
cn flag
สวัสดีและขอบคุณสำหรับความช่วยเหลือของคุณ ฉันลองใช้แนวทางของคุณแล้ว แต่น่าเสียดายที่มันใช้งานไม่ได้ ฉันยังคงถูกนำไปยังบริการที่ไม่ปลอดภัยของฉัน :/
Score:0
ธง za

เปลี่ยน หนึ่งในบรรทัดสุดท้ายที่

ฟัง 80 เริ่มต้น;
sv flag
เนื่องจาก OP ใช้คำสั่ง if เพื่อเปลี่ยนเส้นทางตามโฮสต์ โซลูชันข้างต้นจึงใช้ไม่ได้กับกรณีการใช้งานเฉพาะ ดังนั้นวิธีแก้ปัญหาข้างต้นจะส่งผลให้ 404
sergeantSalty avatar
cn flag
Pothi ถูกต้อง มันไม่ได้ผลอย่างนั้น แต่ยังไงก็ขอบคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา