![](/img/trans.png)
[英]Apache ProxyPass: Page not refreshing automatically after SSL installed
[英]Installed SSL on Apache server, page not responding
我的問題是關於SSL安裝的。 我為在Apache 2.4.29的Ubuntu 16.04機器上托管的網站購買了新的SSL。 我能夠安裝此程序,但沒有出現任何錯誤,但我的頁面未重定向。 我遵循了一些指南(DigitalOcean),但感覺好像缺少一些東西。
我已經檢查了站點可用的文件(000-default.conf,default-ssl.conf和example.com.conf),但沒有發現任何吸引我的東西,但是我感覺自己丟失了一些東西。 我檢查了Apache的狀態,沒有收到任何錯誤,並且已經多次重啟服務,但無濟於事。
這是我所擁有的大致分類。 我想念什么嗎? 設置是否需要其他信息?
000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
Redirect "/" "https://example.com/"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
默認的ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
SSLCertificateFile /root/example.com.crt
SSLCertificateKeyFile /root/www.example.com.key
SSLCACertificateFile /root/intermediate.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>4
mydomain.com.conf
<VirtualHost *:443>
ServerAdmin admin@somedomain.com
ServerName mydomain.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
Redirect permanent / https://example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
這是我嘗試組合配置的嘗試。 請注意,我沒有用於測試的設置,但是在生產服務器上使用了類似的配置。
首先定義您的端口80 VirtualHost(在您的設置中為000-default.conf):
Listen 80
<VirtualHost *:80>
Redirect "/" "https://example.com/"
LogLevel debug
ErrorLog "${APACHE_LOG_DIR}/80_error.log"
CustomLog "${APACHE_LOG_DIR}/80_access.log" combined
</VirtualHost>
因為您重定向了所有內容,所以不需要DocumentRoot
。
然后注釋掉default-ssl.conf
。 該文件是您可以設置啟用SSL的VirtualHost的示例。 如果您使用該文件和端口443上的另一個VirtualHost,則將始終使用該文件,因為Apache使用的第一個VirtualHost會找到與客戶端請求匹配的虛擬主機(此處為端口443)。
還有一點,VirtualHost不會彼此“添加”。 每個獨立於其他,並且必須包含完整的配置。 這意味着您不能將某些配置放在端口443上的VirtualHost上,而不能將某些配置放在端口上並且期望它能正常工作。
然后創建您的example.com.conf
文件:
Listen 443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin admin@example.com
SSLCertificateFile "/root/example.com.crt"
SSLCertificateKeyFile "/root/example.com.key"
SSLCACertificateFile "/root/intermediate.crt"
LogLevel debug
ErrorLog "logs/443_error_log"
CustomLog "logs/443_access_log" combined
DocumentRoot "/var/www/example.com/html"
DirectoryIndex index.html
<Directory "/var/www/example.com/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
一些注意事項:
LogLevel
置於調試狀態,因此可以進行故障排除,但是一旦運行,就將其更改為錯誤。 否則,您將很快擁有巨大的日志文件! Redirect permanent / https://example.com
。 您已經位於https
端口443 VirtualHost中。 <FilesMatch>
指令的選項。 此設置將確保所有http
請求都將重定向到https://example.com
。 然后它將使用:443 VirtualHost,為該域使用適當的證書,並提供DocumentRoot目錄中的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.