Thanks Massimo. These are the steps and syntax to connect to Amazon's RDS using SSL.
*Step1:* Download Amazons's CA certificate from here: https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem and save it into web2py/applications/myapp/private/ssl/rds-combined-ca-bundle.pem *Step2:* Modify your model (db.py) as follows, using your own username, password, endpoint, and DB driver_args = { 'ssl':{ 'ca': 'applications/ads/private/ssl/rds-combined-ca-bundle.pem'} } db_auth = 'mysql://web2py_db_user:mypassw...@xxxxx-cluster-1.cluster-xxxxxus-east-1.rds.amazonaws.com:3306/my_db' db = DAL( db_auth, driver_args = driver_args ) *Step 3 (optional):* To force SSL for this user (web2py_db_user), connect to the RDS server using MySQL Workbench (or any other DB client) and execute the following SQL. For MySQL 5.6 GRANT USAGE ON *.* TO 'web2py_db_user'@'%' REQUIRE SSL; For MySQL 5.7 ALTER USER 'web2py_db_user'@'%' REQUIRE SSL; On Sunday, September 2, 2018 at 12:56:06 PM UTC-5, Massimo Di Pierro wrote: > > For postgresql it has been there for long time: > > postgres://{username}:{password}@{domain}:5432/{dbname}?sslmode=require > > For MySQL it can also be done with current PyDAL. My understanding is that > MySQL requires certificates so you > > 1) you need to install certificates > > 2) on server side in my my.ini: > > require_secure_transport=true > tls_version=TLSv1,TLSv1.1,TLSv1.2 > ssl-ca=*install_path*/ca-cert.pem > ssl-cert=*install_path*/cert.pem > ssl-key=*install_path*/key.pem > > > 3) on web2py side: > > ssl = { 'cert': '*install_path/cert.pem*', > 'key': '*install_path*/key.pem', > 'ca': '*install_path*/ca-cert.pem'} > > DAL('mysql://....', driver_args = {'ssl': ssl}) > > Mind I did not try this. All I am telling you is how to use driver_args to > pass ssl info to the mysqldb.connect( ...., ssl = ...) function. > > On Friday, 31 August 2018 22:07:54 UTC-7, appj...@gmail.com <javascript:> > wrote: >> >> I was curious if the ability to connect securely to a database service >> (without an SSH tunnel) was added to 2.17.1? Thanks. >> >> >> >> On Wednesday, January 31, 2018 at 12:27:01 AM UTC-6, appj...@gmail.com >> wrote: >>> >>> Hi, I wanted to check back to see if there was any update on this. >>> >>> With more and more database solutions moving to hosted DB services (so >>> no SSH tunnels), Web2Py apps do not have the ability to connect to these >>> securely. >>> >>> We are stuck hosting a dedicated machine to server our MySQL and run an >>> SSH server. We'd like to switch to Amazon Aurora for example. >>> >>> >>> On Wednesday, October 11, 2017 at 11:52:02 AM UTC-5, Massimo Di Pierro >>> wrote: >>>> >>>> >>>> >>>> On Saturday, 7 October 2017 01:55:53 UTC-5, appj...@gmail.com wrote: >>>>> >>>>> Thank you Massimo! >>>>> >>>>> There is a great detailed deployment recipe for SSH tunneling to your >>>>> database server from a Heroku app instance (dyno). It works as of this >>>>> post.10/8/17 >>>>> >>>>> https://stackoverflow.com/questions/21575582/ssh-tunneling-from-heroku/46629121#46629121 >>>>> >>>>> There are 2 issues/questions with this though: >>>>> >>>>> 1) So now that I can tunnel in, I have a performance question: Since >>>>> the mysql database server will be making all of its connections to >>>>> localhost is that a single connection rather than multiple? Will I lose >>>>> database read concurrency? If so, will either that or the SSH tunnels be >>>>> a >>>>> bottleneck and severely degrade my database performance? >>>>> >>>> >>>> web2py has connection pooling. Each of connection from the pool will go >>>> through the tunnel, concurrently up to the max number in the pool. >>>> >>>>> >>>>> 2) SSH tends to be flaky and drop connections leaving a broken Web2py >>>>> app instance. Any suggestions on best practices for handling that case? >>>>> >>>> >>>> >>>> No. Sorry. If others have suggestions I would like to hear them. >>>> >>>> >>>>> >>>>> It's too bad DAL doesn't support secure connections. Encrypted >>>>> database connections are pretty standard nowadays and I see there are >>>>> python mysql connectors that do. Has anyone successfully swapped out the >>>>> one that ships with one of those? >>>>> >>>> >>>> It would be easy to add. we will work in it. >>>> >>>> >>>>> >>>>> Cloud deployment is new to me so I really appreciate the help, and I >>>>> love using Web2py so thanks for making it and the ongoing support! >>>>> >>>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.