Score:1

Ubuntu 20.04 เปลี่ยนเส้นทาง HTTP เป็น HTTPS

ธง ua

Raspberry PI ที่ใช้ Ubuntu 20.04 ซึ่งโฮสต์เว็บแอปพลิเคชัน dotnet 6 (หลัก) โดยค่าเริ่มต้น DotNet จะฟังพอร์ต 5000 (HTTP) และพอร์ต 5001 (HTTPS) ฉันสามารถให้ http://mydomain ทำงาน แต่ฉันไม่สามารถให้ HTTPS ทำงาน ไฟล์ Program.cs ของฉันถูกตั้งค่าเป็น for ใช้การเปลี่ยนเส้นทาง HTTPS (ซึ่งทำงานบน localhost)

บันทึก: ฉันพัฒนาเว็บแอปบนเครื่องของฉัน เผยแพร่และปรับใช้เว็บแอปกับ Ubuntu (Raspberry PI) นี่คือไฟล์ปรับแต่งของฉัน

<VirtualHost *:80>
   ServerName me.com
   ServerAdmin [email protected]
   Redirect "/" https://me.com
   ErrorLog ${APACHE_LOG_DIR}/error-me.com-ssl.log
   CustomLog ${APACHE_LOG_DIR}/access-me.com-ssl.log combined
</VirtualHost>

<VirtualHost *:443>
   ServerName me.com
   DocumentRoot /var/www/me.com
   ProxyPreserveHost On
   ProxyPass / https://127.0.0.1:5001/
   ProxyPassReverse / https://127.0.0.1:5001/
   SSLEngine on
   SSLCertificateFile "/etc/ssl/certs/server.me.com.crt"
   SSLCertificateKeyFile "/etc/ssl/private/server.me.com.key"
</VirtualHost>
guiverc avatar
cn flag
หากคุณถามเกี่ยวกับ Ubuntu 20.04 เหตุใดคุณจึงติดแท็กคำถามเกี่ยวกับ Ubuntu 12.04 กรุณาแก้ไข
it flag
อะไรไม่ทำงาน? เปลี่ยนเส้นทางหรือ SSL อย่างสมบูรณ์? คุณกำลังลองใช้ URL/พอร์ตใด คุณได้รับข้อผิดพลาดอะไร
DavidJS avatar
ua flag
ถ้าฉันใช้ VirtualHost *:80 และใช้ ProxyPass / http://127.0.0.1:5000 ก็ใช้งานได้เพราะแอปรับฟังพอร์ต 5000 จากนั้นฉันเปิด HTTPSRedirect และเปลี่ยน VirtualHost 80 เพื่อเปลี่ยนเส้นทางไปยัง VirtualHost 443 เมื่อฉันไป เพื่อป้อนโดเมนสาธารณะ/ที่อยู่ IP เบราว์เซอร์จะแสดงว่า "ไม่สามารถเข้าถึงไซต์นี้"
pa4080 avatar
cn flag
จะเกิดอะไรขึ้นถ้าคุณใช้พอร์ต 5000 กับ nonconfigation เดียวกัน
DavidJS avatar
ua flag
@ pa4080 - คุณหมายถึงอะไร ฉันลองใช้ http:'//127.0.0.1:5000 บน และฉันยังคงได้รับ "ไม่สามารถเข้าถึงไซต์นี้ได้"
DavidJS avatar
ua flag
ฉันปิด app.UseHttpsRedirection() จาก Program.cs เผยแพร่/ปรับใช้ จากนั้นเข้าถึง URL ของฉันด้วย HTTPจากนั้นฉันก็เข้าถึงไซต์ด้วย HTTPS และอีกครั้ง "ไม่สามารถเข้าถึงไซต์นี้ได้" ดังนั้น SSL อาจจะตั้งค่าไม่ถูกต้อง?? ฉันสร้างใบรับรองที่ลงนามเองโดยใช้คำสั่ง: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.yourdomain.com.key -out /etc/ssl/certs/ server.yourdomain.com.crt
DavidJS avatar
ua flag
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันทำ CURL https://localhost:5001, (60) ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออกในเครื่อง รายละเอียดเพิ่มเติมที่นี่: https://curl.haxx.se/docs/sslcerts.html curl ไม่สามารถตรวจสอบความถูกต้องของเซิร์ฟเวอร์ได้ ดังนั้นจึงไม่สามารถทำได้ สร้างการเชื่อมต่อที่ปลอดภัยกับมัน
Nmath avatar
ng flag
ดูเหมือนว่าคุณกำลังใช้ไฟล์ virtualhost สำหรับ apache2 มีการติดตั้งและกำหนดค่าหรือไม่? คุณมีใบรับรอง SSL และเส้นทางถูกต้องหรือไม่
pa4080 avatar
cn flag
สวัสดี @DavidJS ก่อนอื่นคุณต้องยืนยันว่า HTTPS Virtual Host ของคุณทำงานได้อย่างถูกต้อง สร้างไดเร็กทอรี DocumentRoot ด้วยไฟล์ index.html อย่างง่ายภายใน... และตรวจสอบคำตอบเหล่านี้: https://askubuntu.com/a/893406/566421 และ https://askubuntu.com/a/900433/566421 และหน้าคำแนะนำของ Cerbot: https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal
DavidJS avatar
ua flag
@Nmath - ฉันใช้ virtualhost และฉันยืนยันว่ามันฟังใน PORT 80 และ 443 ฉันมีเพียงใบรับรองที่ลงนามเองที่ฉันสร้างด้วย opensl และฉันได้ยืนยันเส้นทาง ฉันจะลองใช้ LetsEncrypt และดูว่าสร้างความแตกต่างได้หรือไม่

โพสต์คำตอบ

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