SSL সার্ভারে সক্ষম নয়


107

গো দিয়ে পোস্টগ্রিজ ডাটাবেসের সাথে যোগাযোগের চেষ্টা করা, বিবৃতিটি এভাবে প্রস্তুত করা:

var stmt *sql.Stmt
var err error

stmt, err = db.Prepare(selectStatement)
if err != nil {
    fmt.Printf("db.Prepare error: %v\n",err)
    return err
}

নিম্নলিখিত ত্রুটি ছুড়ে:

db.Prepare error: pq: SSL is not enabled on the server

কোন সমাধান?

প্রয়োজনে আমি আরও তথ্য যুক্ত করতে পারি।


4
//, আমি hashiCorp ভল্টে এই ত্রুটিটি পেয়ে শেষ করেছি।
নাথান বাসানিজ

4
@ নাথানবাশানিজ, আমি জানি এটি অনেক আগেই ছিল, তবে আমি ?sslmode=disableসংযোগের স্ট্রিংটিকে যুক্ত করেছি।
লুকাসবিআর

উত্তর:


191

আপনার এসএসএল এনক্রিপশন ছাড়াই ডিবি সংযোগ স্থাপন করা উচিত:

db, err := sql.Open("postgres", "user=test password=test dbname=test sslmode=disable") 

এই জীবন বাঁচানোর মন্তব্যের জন্য ধন্যবাদ। বিটিডব্লিউ: ডকার কনটেইনারটির জন্য এসএসএল সমর্থন করার জন্য কীভাবে কেউ পিএসকিএল সেট করবেন?
মন্দির

125

যদি আপনার ডেটা উত্সের নামটি ইউআরএল হয় তবে আপনি এটি এরকম করতে পারবেন:

db, err := sql.Open("postgres", "postgres://username:password@localhost/db_name?sslmode=disable")

sslmode সবেমাত্র ক্যোয়ারি প্যারামিটারের মতো ডিবি ইউআরএল যুক্ত করা হয়েছে।


19

এসএসএল ব্যতীত কোনও সংযোগ স্থাপনের জন্য চেষ্টা করুন

postgres://username:password@host:5432/database?sslmode=disable

4
//, আমি এটি আমার সংযোগের স্ট্রিংয়ে যুক্ত করেছি এবং এটি সফলভাবে কাজ করেছে। ধন্যবাদ, হ্যারাল্ড
নাথান বাসানিজ

13

নোটিশ, দয়া করে:

এটি এমনকি ঘটে, যদি আপনি একটি নির্দেশ করে থাকেন sslmode=disableতবে অন্য প্যারাম খালি থাকে। উদাহরণ স্বরূপdbname=

উদাহরণস্বরূপ, সংযোগ স্ট্রিং:

user=test password=test dbname=sslmode=disableএই ত্রুটিটিও জারি করবে , কারণ dbname খালি।


4
এটি আমার স্থানীয় ডেভ সেটআপে আমাকে সংরক্ষণ করেছিল, কারণ এখানে পাসওয়ার্ড খালি ছিল।
পেরেলিন

1

এইভাবে আমি এটি কাজ করেছিলাম:

db, err := sql.Open("postgres", "postgres://{user}:{password}@{hostname}:{port}/{database-name}?sslmode=disable")

আমি মনে করি এটি গৃহীত হওয়ার চেয়ে উত্তম উত্তর
ডার্ক_আরবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.