通过静态 IP 连接到 heroku 中的 Oracle 数据库时出现问题
Problem connecting to Oracle db inside heroku through a static IP
我正在编写一个 Rails 应用程序,它需要连接到公司防火墙内的 Oracle 数据库。因此,我需要连接到他们的 VPN 或至少使用静态 IP 地址来建立我的所有连接。
我试过 Proximo and QuotaGuard 但没有成功。我进行了所有必需的配置,但无论我做什么,防火墙都说我正在尝试通过我的实际 IP 连接,而不是静态 IP。
经过几天的尝试,在 QuotaGuard 的帮助下,我解决了这个问题:
QuotaGuard 通过覆盖 DNS 查找来工作,因此我的服务器连接转到我的本地机器,其中一个进程将所有流量重定向到我的远程服务器,该服务器将通过正确的 IP 连接。
但 oracle 驱动程序似乎看不到此 DNS 更改,因此它将向阻止我的连接的最终服务器发出所有请求。我所做的只是将我的数据库连接信息指向 127.0.0.1,因此 qgtunnel
应用程序可以将其发送到最终服务器。
它现在非常有效。
因此,我的最终设置如下:
.qgtunnel
文件
[qgtunnel.0]
accept = "127.0.0.1:3333"
connect = "HOST_ADDRESS:3333"
encrypted = false
transparent = true
config/oracle_db.yml
文件
default: &default
encoding: utf8
adapter: oracle_enhanced
host: 127.0.0.1
port: 3333
database: database
username: <%= ENV['DB_USER'] %>
password: <%= ENV['DB_PASS'] %>
development:
<<: *default
test:
<<: *default
production:
<<: *default
Procfile
文件
web: bin/qgtunnel bundle exec puma -C config/puma.rb
我正在编写一个 Rails 应用程序,它需要连接到公司防火墙内的 Oracle 数据库。因此,我需要连接到他们的 VPN 或至少使用静态 IP 地址来建立我的所有连接。
我试过 Proximo and QuotaGuard 但没有成功。我进行了所有必需的配置,但无论我做什么,防火墙都说我正在尝试通过我的实际 IP 连接,而不是静态 IP。
经过几天的尝试,在 QuotaGuard 的帮助下,我解决了这个问题:
QuotaGuard 通过覆盖 DNS 查找来工作,因此我的服务器连接转到我的本地机器,其中一个进程将所有流量重定向到我的远程服务器,该服务器将通过正确的 IP 连接。
但 oracle 驱动程序似乎看不到此 DNS 更改,因此它将向阻止我的连接的最终服务器发出所有请求。我所做的只是将我的数据库连接信息指向 127.0.0.1,因此 qgtunnel
应用程序可以将其发送到最终服务器。
它现在非常有效。
因此,我的最终设置如下:
.qgtunnel
文件
[qgtunnel.0]
accept = "127.0.0.1:3333"
connect = "HOST_ADDRESS:3333"
encrypted = false
transparent = true
config/oracle_db.yml
文件
default: &default
encoding: utf8
adapter: oracle_enhanced
host: 127.0.0.1
port: 3333
database: database
username: <%= ENV['DB_USER'] %>
password: <%= ENV['DB_PASS'] %>
development:
<<: *default
test:
<<: *default
production:
<<: *default
Procfile
文件
web: bin/qgtunnel bundle exec puma -C config/puma.rb