如何使用Debial和Apache在django中将google VM外部ip地址重定向到HTTPS?

如何使用Debial和Apache在django中将google VM外部ip地址重定向到HTTPS?,django,apache,google-cloud-platform,debian,virtual-machine,Django,Apache,Google Cloud Platform,Debian,Virtual Machine,我已经使用certbot成功安装了SSL证书,并允许在我的debian和ApacheLinux虚拟机上对google云进行加密 已成功使用HTTPS保护该域 虽然直接访问外部ip地址,我仍然得到一个不安全的网站版本。 如何将ip直接重定向到使用APACHE设置的HTTPS版本,只将“domain.com”重定向到-->>HTTPS:www.domain.com 我尝试将端口80和443重新路由到PHP中的HTTPS版本,但没有任何运气,如下所示: 在my 000-default.conf中:

我已经使用certbot成功安装了SSL证书,并允许在我的debian和ApacheLinux虚拟机上对google云进行加密

已成功使用HTTPS保护该域

虽然直接访问外部ip地址,我仍然得到一个不安全的网站版本。 如何将ip直接重定向到使用APACHE设置的HTTPS版本,只将“domain.com”重定向到-->>HTTPS:www.domain.com

我尝试将端口80和443重新路由到PHP中的HTTPS版本,但没有任何运气,如下所示:

在my 000-default.conf中:

<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.bracketline.com [OR]
RewriteCond %{SERVER_NAME} =localhost
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} 
[END,NE,R=permanent]
</VirtualHost>

服务器名本地主机
服务器管理员webmaster@localhost
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重新启动发动机
RewriteCond%{SERVER_NAME}=www.bracketline.com[或]
RewriteCond%{SERVER_NAME}=localhost
重写规则^https://%{SERVER\u NAME}%{REQUEST\u URI}
[结束,东北,R=永久]
在我的000-default-le-ssl.conf上,我有:

<IfModule mod_ssl.c>
<VirtualHost *:443>

ServerName localhost
ServerAdmin webmaster@localhost

Alias /static /var/www/static-root
<Directory /var/www/static-root>
 Require all granted
 </Directory>
Alias /media /var/www/media-root
<Directory /var/www/media-root>
 Require all granted
</Directory>
<Directory /var/www/venv/src/cfehome>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess cfehome python-            
path=/var/www/venv/src/:/var/www/venv/lib/python3.5/site-packages
WSGIProcessGroup cfehome
WSGIScriptAlias / /var/www/venv/src/cfehome/wsgi.py

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerAlias www.bracketline.com
SSLCertificateFile 
/etc/letsencrypt/live/www.bracketline.com/fullchain.pem
SSLCertificateKeyFile 
/etc/letsencrypt/live/www.bracketline.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

服务器名本地主机
服务器管理员webmaster@localhost
别名/static/var/www/static root
要求所有授权
别名/media/var/www/media root
要求所有授权
要求所有授权
WSGIDaemonProcess cfehome python-
path=/var/www/venv/src/:/var/www/venv/lib/python3.5/site-packages
WSGIProcessGroup cfehome
WSGIScriptAlias//var/www/venv/src/cfehome/wsgi.py
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
ServerAlias www.bracketline.com
SSL证书文件
/etc/letsencrypt/live/www.bracketline.com/fullchain.pem
SSLCertificateKeyFile
/etc/letsencrypt/live/www.bracketline.com/privkey.pem
Include/etc/letsencrypt/options-ssl-apache.conf

我不知道这件事是如何运作的,如果能提供一个详细的博客或博客,这将是非常有帮助的。先走一步

首先,通过键入
apachectl-S
(这在基于Debian的操作系统上起作用)来指定您实际使用的
.conf
文件

下一步编辑文件,它应该看起来相似:

<VirtualHost *:80> 
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com

  Protocols h2 http/1.1

  # SSL Configuration

  # Other Apache Configuration

</VirtualHost>

ServerName example.com
ServerAlias www.example.com
重定向永久/https://example.com/
ServerName example.com
ServerAlias www.example.com
协议h2 http/1.1
#SSL配置
#其他Apache配置
通常,有几个教程介绍如何将HTTP配置为HTTPS重定向:

还有一些有趣的讨论

最后,这是我的建议

这些只是最近(2年前)的例子,可以帮助你,如果他们不能回答你的问题,还有几十个